【发布时间】:2010-05-08 21:30:09
【问题描述】:
假设我有以下程序:
#include files
PREDICATE( add, 3 )
{
return A3 = (long)A1 + (long)A2;
}
int main( int argc, char** argv )
{
PlEngine e( argv[0] );
PlCall( "consult('myFile.pl')" );
PL_halt( PL_toplevel() ? 0 : 1 );
}
当我编译它时,它会链接 Prolog 和 C++,然后启动 Prolog 命令提示符。
我在 myFile.pl 中只有
:- use_module( library(shlib) ).
当我在 Prolog 提示符下键入列表时,我得到
Foreign: add/3
我的问题是如何在我的外来谓词添加中使用其他子程序的结果,比如一个类?假设我的程序中有一个类可以计算一些 x 和 y。显然 x 和 y 将是该类头文件的私有或受保护成员。如何在我的添加谓词中使用 x 和 y?例如,如果我想返回 x 和 y 的总和以及 add 的第一个和第二个参数?
干杯,
【问题讨论】:
标签: visual-studio-2008 swi-prolog