所以基本上我使用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可调用接口?