有没有办法让C运行计划程序?我知道这两种语言,并希望以C的速度使用方案的逻辑。基本的例子C使得方案需要使用的列表然后方案返回一些东西。到目前为止,我一直在使用DrRacket进行计划。有人能指出我正确的方向吗?
编辑:
看着Caleb的回答,我看到了Racket CGC。你如何找到这个我的网站上的球拍来源,我在Ubuntu。我在哪里可以获得libracket.a和libmzgc.a库。我无法在任何地方找到它们。在任何地方,我看它只是回到文章说你需要它们。
答案 0 :(得分:5)
混合Scheme和C的最简单方法是在Scheme中编写主程序,只写出C中C中绝对需要的内容。
将C源编译为库,然后使用FFI将其导入Racket。 FFI非常容易使用,即使您决定以相反的方式编写程序,也绝对应该首先检查。
顺便说一句 - libracket.a和libmzgc.a应该与其余的Racket文件一起安装。我不在Ubuntu上,所以我不知道确切的路径。但是,您可以使用unix命令find
来定位它。
如果我没记错的话,命令是:
find / -name libracket.a
答案 1 :(得分:3)
您是否看过the Racket C API documentation,特别是标题为Embedding Racket into a Program的部分? Unix,Windows和MacOS X提供了相关说明。
答案 2 :(得分:3)
大多数当前方案都有某种外部函数接口,允许您使用非方案代码。很多人在这里对Racket的经验比我更多,所以我会让他们告诉你。
Chicken在方案中相当独特,因为它包含了C
的编译器。因此,鸡允许您使用C
直接将#> ... <#
代码嵌入到计划程序中,并为interfacing with external variables and functions提供了多个程序。
有关详细信息,请参阅手册的“Getting Started”部分。