繁体   English   中英

使用 Prolog 和 C# (Unity)

[英]Use Prolog with C# (Unity)

我想知道是否有一种“简单”的方法可以从 C# 代码(在 Unity 上下文中)调用 Prolog(最好是 SWI-Prolog)代码。

我已经尝试使用 SWI-Prolog - C# 接口源代码在这里)但是它维护得不好,我无法让它与最新版本的 SWI-Prolog 64 位(截至今天的 8.2.4)一起使用。

我还看到可以使用SWI-Prolog 套接字和 C# 套接字(或 Unity 套接字)发送信息,但我无法让它工作,而且我不确定使用套接字是否是性能的最佳选择。

唯一对我有用的解决方案是使用另一个“自定义” prolog 引擎: CSharpProlog 这允许我在 CSharp 文件中集成 Prolog 代码。 但是,如果可能的话,我想使用 SWI-Prolog,有人知道我该怎么做吗?

从您提供的链接来看,来源不可用here是显而易见的。 只需尝试编译它,以适应您的目标机器架构。

我正在尝试使用 MonoDevelop 在 Linux 上生成接口,但它不是立即生成的,稍后会重试。 同时,你可以试试Windows。可能会更简单......

编辑

现在我有时间尝试从 Windows 10 64 位中的源代码进行编译,到目前为止它似乎运行得很好。 我正在使用 VisualStudio Community 2017,打开解决方案 (contrib-swiplcs\SwiPlCs_git.sln) 后,在 SwiPLcs 属性 - 编译中定义了 _PL_X64。

HTH

编辑

已上传存储库,显示了 SWIPlCs 的简化用法。 请注意,有一个目录 (swipl_cs),我只是在其中复制(未更改)来自 SwiPlCs 的必不可少的源文件。 有一个 Prolog 文件,它计算 N-Queens 问题的解决方案(只是第一个,让事情尽可能简单)并显示 CLP(FD) 执行的步骤 - 感谢 Markus Triska 的原始实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM