所以基本上我使用 Prolog 来调用大量使用 GNU-Prolog 的 C 函数。
这是一个例子:
int add(int a, int b)
{
int res = a + b;
return res;
}
如果我想从 Prolog 代码中调用这个函数,我需要创建这个接口:
#include <gprolog.h>
PlBool add_interface(int a, int b, int* r)
{
*r = add(a, b);
}
在 Prolog 代码中,我需要添加以下内容:
:- foreign(add(+integer, +integer, -integer)).
所以我在处理大量的C函数,并且一个一个地手动创建这些接口会非常耗时......
当然,我可以编写一个临时工具来进行此创建(可能使用 CIL ..),但我只是不想重新发明轮子。
所以我的问题是:
是否有任何工具可以从 C 函数自动生成 Prolog 可调用接口?