公用外部函数接口——CFFI

译自:http://common-lisp.net/project/cffi/

CFFI是Common Foreign Function Interface的简称。

简介

    CFFI,即公用外部函数接口,号称是Common Lisp的一个轻便的外部函数接口。CFFI库由一个具体的Lisp实现的后端和一个轻便的前端组成,后端实现在CFFI—SYS包内的,前端实现在CFFI包内

    CFFI-SYS后端包通过Lisp实现对本地FFI定义了一个底层接口支持。它提供了一些操作符来分配和取消外部内存引用、调用外部函数和加载共享库。CFFI前端提供了定义外部函数、结构体、typedef变量、枚举型变量等的声明接口。它们通过使用底层操作符的轻便的ANSI CL来实现,这些底层操作符由CFFI-SYS包导出。

特性

CFFI的主要特性包括:

  • 可扩展的外部类型系统;
  • 回调支持;
  • 支持外部字符串编码;
  • 向ABCL、Allegro CL、Corman CL、CLISP、CMUCL、Digitool MCL、ECL、LispWorks、Clozure CL、SBCL、MKCL和the Scieneer CL提供接口;
  • groveller——一个外部库声明工具;
  • 通过使用libffi库支持传递结构体类型数据;
  • 拥有一个UFFI兼容层;

开始

    最新的版本已经发布了,这里是发行说明。如果需要安装说明的话,请翻阅CFFI用户手册安装章节。如果你是初次接触专业的CFFI或一般化的FFIs接口,那么请查看辅导章节。

你可能感兴趣的:(lisp,common,cl,Lispworks,CFFI,groveller,Allegro)