【发布时间】:2013-07-08 22:59:36
【问题描述】:
是否可以使用 Poly/ML 构建共享库?
我希望能够为 Poly/ML 库创建 C API,并从不同的编程语言(例如 Python)调用/加载它。有人尝试这样做吗?
我知道这可以在 OCaml 中完成:
【问题讨论】:
是否可以使用 Poly/ML 构建共享库?
我希望能够为 Poly/ML 库创建 C API,并从不同的编程语言(例如 Python)调用/加载它。有人尝试这样做吗?
我知道这可以在 OCaml 中完成:
【问题讨论】:
以下是 Poly/ML 主要开发人员 David Matthews (http://www.polyml.org/) 提供的答案:
简单的答案是否定的,至少目前是这样。我看过这个 并想知道这是否可能。外部函数接口 允许回调函数,因此有机制产生一个 调用时调用 ML 函数的 C 函数。我的困难 可以看到,为了生成共享库,闭包 对于 C 函数,必须“取消选中”,以便重定位信息 可以为闭包内的地址生成。我必须添加 libffi 可以做到这一点。看起来并不太难 X86,但我没有更进一步。可能还有其他问题 我不知道。
【讨论】: