我一直在玩Prolog的qsave_program功能. 我在市场上寻找一种可以加速我的Prolog代码的东西,或者可能允许与C/C++集成的东西.
我使用以下命令从我的SWI—prolog程序生成二进制文件:
swipl -o prog -c prog.pl --stand_alone=true
在引擎盖下面这是qsave_program
.
在判断了二进制文件后,它是预期的ELF格式,所以我try 运行它.
然而,当我在终端上运行这个编译好的./prog
程序时,输出日志(log)表明可执行文件确实从各个地方拉入swi—prolog库. 这对我来说表明,与通过hashbang脚本使用普通的旧SWI—prolog可执行文件相比,使用编译后的代码没有那么多的性能好处.
我错过了什么吗? 有没有一种方法可以强制编译过程打包到必要的库中(为了更大的可移植性),整个过程是否涉及到Prolog代码的优化,或者避免这里编译?