4

些細な質問のように聞こえますが、ECL のドキュメント、CFFI のドキュメントを調べて、Google に頼った後も、決定的な答えにたどり着くことができませんでした。ECL ドキュメントはコールバック構文について何も言及しておらず、CFFI ドキュメントは ECL のコールバックに関する実装制限について言及しておらず、Google が示唆するページを論理的にキャストすることはできません。

4

1 に答える 1

6

ECL は、インタープリター モードとコンパイル モードの両方でコールバックをサポートします。CFFI がすべてを処理します。そのため、ECL について特に言及していません (なぜ存在する必要があるのでしょうか?)。実際の実装に関心がある場合は、ecl/src/lsp/ffi.lsp を参照してください。FFI:DEFCALLBACK のシグネチャは (defmacro defcallback (name ret-type ((arg-name arg-type)*) &body body) です。つまり、DEF-FUNCTION とほぼ同じ引数を取ります (型構文は同じ、UFFI) ですが、各引数 (arg-name) に明示的に名前を付け、実行する Lisp のコードを提供します。

于 2012-03-05T18:30:54.553 に答える