【发布时间】:2013-10-05 14:40:46
【问题描述】:
我有Chicken 的Scheme 代码如下sn-p:
(require-extension bind)
(bind* "double int_exp(double, int);")
(bind* "double square(double);")
(begin
(print (int_exp 1.2 1))
(print (square 2.0)))
int_exp 和 square 只是我为测试而编写的小型测试函数(用 C 编写)。此代码工作正常;但是,一旦我删除星号,编译的程序就会打印出虚假值(并且虚假值取决于我是使用 clang 还是 gcc 编译 C 代码。)绑定文档只是 says "[bind* is] 类似于绑定,但也使用foreign-declare"and"[foreign-declare包括]将给定字符串逐字写入生成文件的标题"将代码嵌入到生成的Scheme扩展中"-鉴于我是Chicken的新手(确实是Scheme。)它们实际上是什么意思,bind 和bind* 之间有什么区别,我应该什么时候使用?
【问题讨论】:
标签: scheme chicken-scheme