0

我正在学习 prolog,我使用 swi-prolog 作为编译器/解释器。我有这个 hello world 文件:

:- initialization(main).
main :- format('Hello, world').

但是当我尝试编译swipl -o hello.exe -c hello.pro并运行二进制文件hello.exe时,它首先运行目标(main),然后将我返回到 swi-prolog 交互式环境。我如何编译它,使它成为一个没有 prolog 环境的功能程序?我也尝试halt在 main 的末尾添加,但这根本无法编译。当我尝试这样做时,编译器会打印“Hello, world”,然后停止编译。

4

1 回答 1

3

我会:

  • 删除:-initialization指令
  • 编译:swipl.exe -nodebug -g true -O -q --toplevel=main --stand_alone=true -o hello.exe -c hello.pro

这应该够了吧

于 2013-03-18T16:54:48.937 回答