我从注释32.3中看到,clisp有一个FFI系统。我还在http://common-lisp.net/project/cffi/看到了一个CFFI项目。
有知识渊博的人请详细说明这两个系统之间的任何重要差异吗?哪个更好' /'更正式推荐' /'更有效率和/或更可靠'等?
非常感谢,R。
答案 0 :(得分:1)
CLISP FFI是非常高级的,并且必然是CLISP特定的(就像SBCL FFI是SBCL特定的& c)。
CFFI是一个交叉实现的兼容层,它更低级,它依赖底层实现的FFI来工作。
因此,如果你已经开始使用特定的实现,那么你应该学习它自己的FFI。
如果要编写将在许多不同实现上运行的代码,请使用CFFI。
PS。低级别与高级别意味着,您需要编写更多字符以在CFFI中实现与CLISP FFI相同的效果;结果也可能在CLISP FFI中运行得更快。