【发布时间】:2015-09-15 04:34:47
【问题描述】:
我想从 C# 调用一个 prolog 程序。那可能吗? 我通过 c# 处理用户输入并写入文件。然后我想调用一个使用该文件的 prolog 程序,然后我想通过 c# 向用户显示文件的内容。
【问题讨论】:
我想从 C# 调用一个 prolog 程序。那可能吗? 我通过 c# 处理用户输入并写入文件。然后我想调用一个使用该文件的 prolog 程序,然后我想通过 c# 向用户显示文件的内容。
【问题讨论】:
是的,如果您不想将两个程序链接到单个二进制文件,而只是让一个 (C#) 调用另一个 (prolog),则可以这样做。对于任何其他语言,您也可以在您的计算机上运行。
如果你的数据交换基于文件,你需要一个文件从 C#->prolog 发送数据,也许还有第二个文件来返回结果 (prolog->C#)
你会在 SO 上找到很多让 C# 调用外部程序的示例(例如 Launching an application (.EXE) from C#?)
如果 prolog 不允许您在调用它时将文件名作为参数传递,您将不得不使用固定文件名:
C#写一个request.txt C#调用prolog程序 Prolog 读取 request.txt 并创建 response.txt
Reading from files 应该被语言覆盖,这取决于“方言”,即使reading command line parameters 也应该是。
【讨论】:
如果你使用 SWI-Prolog,你应该 google SWI-Prolog interface to C# and F#
【讨论】: