c语言函数调用的三种方式
1.
函数立即调用执行模式。
2.
通过构造函数创建对象,然后调用自己的方法。
3.
通过构造器调用函数。
定义一个外部函数,然后输入#’name看结果,#<FOREIGN-FUNCTION "C_FUN_NAME" #x10001030>,不同于FUNCTION和COMPILED-FUNCTION。
函数SYSTEM::%PUTD,输入一个名称和一个函数对象,相当于定义一个函数。例如(system::%putd foo #(lambda (x y) (+ x y))),相当于(defun foo (x y) (+ x y))。宏ffi::def-call-out就用它生成函数,不过输入的函数对象不是lambda,而是FOREIGN-FUNCTION对象,该外部函数对象由函数ffi::find-foreign-function返回。
函数ffi::find-foreign-function从DLL中找出指定名称的函数。输入6个参数,C函数名(字符串),函数类型(PARSE-C-FUNCTION返回的数组),properites(布尔),DLL文件名(字符串),版本号,未知参数(填NIL),返回外部函数对象。