common lisp调用dll函数例子:
1 2 3 4 5 6 | int add( int a, int b){ return a+b; } int sub( int a , int b){ return a-b; } |
1 2 3 4 5 | (asdf:oos 'asdf:load- op :cffi) (defpackage <p>< /p > |
common lisp调用dll函数例子:
1 2 3 4 5 6 | int add( int a, int b){ return a+b; } int sub( int a , int b){ return a-b; } |
1 2 3 4 5 | (asdf:oos 'asdf:load- op :cffi) (defpackage <p>< /p > |
在使用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挂了,消除递归目前我知道有四种方法可以消除递归调用: