common lisp调用dll函数例子:
int add(int a,int b){ return a+b; } int sub(int a ,int b){ return a-b; }win下gcc编译生成dll:gcc add.c -shared -o libadd.dll 新建lisp文件test-add.lisp
(asdf:oos 'asdf:load-op :cffi) (defpackage
common lisp调用dll函数例子:
int add(int a,int b){ return a+b; } int sub(int a ,int b){ return a-b; }win下gcc编译生成dll:gcc add.c -shared -o libadd.dll 新建lisp文件test-add.lisp
(asdf:oos 'asdf:load-op :cffi) (defpackage
在使用cl-xmpp登录gtalk过程中,发现库的一个小问题,这个问题在cl-sasl上面的一个编码转换函数,发现传入为nil的情况下,挂了,原因很明白,nil的时候就不能继续操作了,然后修改后的代码是这样:
;;seems have some bug in sasl-string-to-utf8 if the string is nil it run error ? rewrite it will be ok :). (in-package :sasl) (defun string-to-utf8-lisp (string) "Convert STRING to
在做lisp解释器的时候发现,eval跟apply函数相互调用,而eval又自身调用自己处理过程类似二叉树遍历,比如跑这个(define (p) (p))
,而后调用(p)
就会堆栈溢出,从backtrace中可以发现都是eval挂了,消除递归目前我知道有四种方法可以消除递归调用: