Racket on ffi

The Redefine Team Lv5

link:The Racke tForeign-Function Interface
// mylib1.c
#include <stdio.h>
#include <stdlib.h>

// Square an integer
int isquare (int i){
    return i * i;
}

command 中执行:

gcc --shared -o mylib1.so mylib1.c

mylib.rkt
#lang racket

(require ffi/unsafe
ffi/unsafe/define)

(define-ffi-definer mylib-define (ffi-lib "mylib1"))
(mylib-define isquare (_fun _int -> _int))

(isquare 5)

mylib1.rkt

#lang racket
(require ffi/unsafe)

(define mylib (ffi-lib "mylib1.so"))


(define isquare
(get-ffi-obj "isquare"
        mylib 
        (_fun _int -> _int)))

(isquare 1000)
  • 标题: Racket on ffi
  • 作者: The Redefine Team
  • 创建于 : 2013-06-01 23:28:00
  • 更新于 : 2023-05-23 18:52:03
  • 链接: https://redefine.ohevan.com/2013/06/01/racket-on-ffi/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
Racket on ffi