gpt4 book ai didi

c++ - 在 C/C++ 中嵌入 SWI-Prolog 时如何抑制欢迎消息?

转载 作者:搜寻专家 更新时间:2023-10-31 02:24:18 24 4
gpt4 key购买 nike

我正在编写一个嵌入了 SWI-Prolog 的 C++ 程序。每次执行时,SWI-Prolog 都会在终端上打印欢迎消息。我试过像

#include<SWI-cpp.h>

PlEngine *ple;
void startSWIProlog(char *argv0)
{
char *av[10];
int ac = 0;
av[ac++] = argv0;
av[ac++] = "--quiet";
av[ac++] = "-g";
av[ac++] = "true";
av[ac] = NULL;

if (!ple) ple = new PlEngine(ac, av);
}

但它不起作用。 PlEngine 似乎忽略了传递的选项。那么有什么想法吗?谢谢。

最佳答案

它似乎确实忽略了 argv。我已经尽我所能没有解决方案(-g true,--quiet,-q,到处都是 NULL,没有任何效果)。解决方案在另一个地方。

现在,您应该简单地正常初始化为:

if (!PL_initialise(argc, argv))
PL_halt(EXIT_FAILURE); /* if you wish to exit in case of fail */

但是编译时(*)给出命令:

swipl-ld prog.c prog.pl -o prog.x -pl-options,-q

你应该让它静音。

(*) 注:这其实是对C语言的考验。我没有尝试 C++。但我认为在这里回答是值得的。

关于c++ - 在 C/C++ 中嵌入 SWI-Prolog 时如何抑制欢迎消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com