文档章节

公用外部函数接口——CFFI

烟波
 烟波
发布于 2013/05/07 08:34
字数 374
阅读 1269
收藏 1

译自: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接口,那么请查看辅导章节。

© 著作权归作者所有

共有 人打赏支持
烟波
粉丝 23
博文 31
码字总数 164649
作品 0
深圳
程序员
私信 提问
加载中

评论(1)

myheyj
myheyj
老兄,有没有CFFI配置动态库路径的说明啊?
Python 开发者的 6 个必备库

无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的。 Python 凭借其易用的特点,已经被工...

oschina
2017/10/18
4.1K
8
Lisp的外部函数接口--CFFI

CFFI, Common Foreign Function Interface, 是一个 Common Lisp 的可移植的外部函数接口。 主要特性: an extensible foreign type system; callback support; support for foreign string ......

匿名
2012/01/31
1K
0
NIOS2随笔——FAT32文件系统

1. 概述 FAT32是Windows系统硬盘分区格式的一种,最大单文件大小为4GB。 FAT32由下面3个部分组成: MBR: Master Boot Record, 512KB, 硬盘的物理0地址,以0x55aa结束分区; FAT: File Alloca...

shugenyin
2016/12/23
0
0
第一章节:Revit API基本概念

本章我们只要记录下载我本人学习Revit二次开发过程的API基本概念 1.外部命令:IExternalCommand 2.外部应用:IExternalApplication 3.插件的属性(Transaction、Journaling) 4.Revit的应用类...

sinat_38321889
2017/11/21
0
0
程序的局部变量 全局变量 动态申请数据分别存储在什么地方?

程序的局部变量 全局变量 动态申请数据分别存储在什么地方? 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数名,局部变量的名等。其操作方式类似于数据结构中的栈。 2、堆区(hea...

hanbing94
2016/03/30
110
0

没有更多内容

加载失败,请刷新页面

加载更多

我所遇到的GitLab 502问题的解决

我所遇到的GitLab 502问题的解决 2015年02月11日 20:17:07 wangxicoding 阅读数:51095 标签: gitlab 502 解决 端口冲突 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://bl...

rootliu
14分钟前
1
0
OSChina 周五乱弹 —— 对不起,把你看成绿灯了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 梁博《男孩 (Live)》居然只有现场版,也是好听cry。 《男孩 (Live)》- 梁博 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
25分钟前
93
3
移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
今天
3
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
5
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部