以下の内容はhttps://higepon.hatenablog.com/entry/20090903/1251985098より取得しました。


FFI callback のサンプル

libc の qsort を呼び出してみる。こんな感じの API はどうでしょうか?>id:mjt さん
Ubuntu AMD64 で確認しています。

;; Mosh callback example *draft*.	
(import
 (mosh)
 (mosh ffi)
 (rnrs))

(define array (u8-list->bytevector '(6 5 3 4 1 7 2)))

(let* ([libc (open-shared-library "libc.so.6")]
       [qsort (c-function libc void qsort void* int int callback)]
       [compare (c-callback int (void* void*) (lambda (x y) (if (> (pointer-ref-c-uint8 x 0)
                                                                   (pointer-ref-c-uint8 y 0)) 1 0)))])
    (qsort array (bytevector-length array) 1 compare)
    (display array)
    (free-c-callback qsort))



以上の内容はhttps://higepon.hatenablog.com/entry/20090903/1251985098より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14