文档章节

Common Lisp通过CFFI调用C动态库

烟波
 烟波
发布于 2014/05/29 16:17
字数 89
阅读 244
收藏 0

以上篇博客Linux下动态链接库文件的编译与使用中的libmodulec.so库为例,编写调用代码:

(asdf:oos 'asdf:load-op :cffi)

(defpackage :cffi-user
  (:use :common-lisp :cffi))

(in-package :cffi-user)

(defvar *lib-handler* nil)

(defun load-foreign-lib ()
  (setq *lib-handler* 
        (load-foreign-library "libmodulec.so" :search-path "~/projects/swig_prj/")))

(defun exec-foreign-interface ()
  (foreign-funcall add-nums :int 4 :int 8 :int))

(defun unload-foreign-lib ()
  (close-foreign-library *lib-handler*))

执行过程及结果如下:




© 著作权归作者所有

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

评论(2)

烟波
烟波

引用来自“BlinkD”的评论

这是我感觉commonlisp强大的地方,可以动态加载,load-foreign-lib还可以根据*features*不同平台进行适配。
有一句话说得不错,Lisp不区分加载期,编译期,运行期,任何时期都能干其它时期的事儿,这才是它最猛的地方
兰穆达
兰穆达
这是我感觉commonlisp强大的地方,可以动态加载,load-foreign-lib还可以根据*features*不同平台进行适配。
Common Lisp 操作Mysql

Common Lisp 通过CFFI可以调用其它语言的接口,如此,Common Lisp可以快速开发各种应用程序,本文将讲述在ubuntu系统下的一个简单的Common Lisp与mysql交互的实例。 准备 安装CFFI sudo apt...

烟波
2013/05/14
0
9
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
ECL 16.0.0 发布,Common-Lisp 语言解析器

ECL (Embeddable Common-Lisp) 是一个嵌入式的 Common-Lisp 语言解析器。 ECL 16.0.0 发布,此版本改进了现有 CL 库生态系统的各种互操作性,遵从 ANSI,提升跨平台的便捷性。 最显著的改进是...

oschina
2015/08/29
1K
1
common lisp 利用cffi 操作mysql

利用clisp的管理工具 quicklisp 安装加载 cffi 和 cl-mysql (ql:quickload :cffi) (ql:quickload :cl-mysql) 连接 (connect :host"127.0.0.1":user"root":password"") (query"use test") 这样......

铅笔777
2013/11/16
0
0
MAC 下用 Common Lisp 调试 OpenGL 程序

MAC 下用 Common Lisp 调试 OpenGL 程序 环境搭建 - 运行环境: OSX 10.11.3 EI Capitan- Common Lisp: SBCL 使用 , 首先要安装这几个库 , , , . 先安装好 , 再用它来安装其他库. 安装过程如下...

FreeBlues
2016/06/05
178
0

没有更多内容

加载失败,请刷新页面

加载更多

解析如何用爬虫程序批量采集梨视频数据

本文介绍如何使用爬虫程序免费采集梨视频拍客的视频标题、链接、简介等信息。 采集字段: 视频标题 视频链接 点赞数 视频时长 发布时间 拍客 拍客链接 视频简介 标签 功能点目录: 如何对采集...

技术阿飞
8分钟前
0
0
《阿里铁军》的读书笔记和读后感范文2600字

《阿里铁军》的读书笔记和读后感范文2600字: 在中国互联网,有一个流传很广的说法是,百度强在技术,腾讯强在产品,阿里强在运营。虽然发展到今天,已经不能再用这样简单的视角来看待这三个...

原创小博客
37分钟前
3
0
怎样实际项目中运用责任链模式

1 模式概要 1.1 简介 责任链模式为请求创建一个接收者对象链,每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它会把请求传给下一个接收者,依此类推 责任链模式避...

小刀爱编程
51分钟前
2
0
【宇润日常疯测-004】JS 遍历数组如何快!快!快!

首先,我就是一后端全栈,对前端也只是会用罢了。闲的无聊来测测,不深究,只看表面,不喜勿喷! 遍历数组在写 JS 代码时候一定是经常用的,那么怎么遍历能达到最高效率呢,很多人一定没有测...

宇润
55分钟前
11
2
Linux系统如何定制History输出格式

Linux系统使用History命令来查看系统的运行记录,从而找出一些问题。但是History输出的数据中常常没有时间等信息。本文就来教大家Linux系统如何定制History输出格式。   具体方法如下 以r...

linuxprobe16
58分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部