使用 C/C++ 以外的语言构建共享库,特别是 prolog
Posted
技术标签:
【中文标题】使用 C/C++ 以外的语言构建共享库,特别是 prolog【英文标题】:Building Shared Libraries Using Languages other than C/C++ in particular prolog 【发布时间】:2012-10-02 08:22:37 【问题描述】:是否可以使用 C 或 C++ 以外的语言构建共享库(例如 *.so
、*.dll
)?
构建共享库的基本要求是什么?该语言是否能够编译为本机二进制文件?
我特别想知道是否可以从 Prolog 构建共享库。
例如我可以使用 Prolog 构建一个.so
,然后我可以从另一种语言、C、Java、Python 等链接到它。
【问题讨论】:
【参考方案1】:您可以使用多种语言构建共享库。我经常使用的是Delphi,它可以为windows创建dll。
对于 Prolog,不确定是否可以创建共享库,它需要某种运行时环境,如果有的话,我会从 GNU-Prolog 开始。问题与其说是技术问题,不如说是许可问题。
有一些 prologs 可以用作共享库,并与您的应用程序链接,用任何可以包含共享库的东西(大多数语言)编写。一个快速的谷歌出现了这些http://www.swi-prolog.org/FAQ/,http://www.gprolog.org/#platform
【讨论】:
你能直接从C/C++调用你的delphi共享库吗? 确定取决于您使用的 C/C++。 esanu.name/delphi/DLL/… 或 ***.com/questions/6017787/using-a-delphi-dll-in-c。对于非 embarcadero C++,您通常必须编写一个与 C 兼容的小包装器 - 对于从 C 调用的任何对象语言都相同。或者您可以使用 COM以上是关于使用 C/C++ 以外的语言构建共享库,特别是 prolog的主要内容,如果未能解决你的问题,请参考以下文章