【发布时间】:2017-06-05 14:52:28
【问题描述】:
我正在尝试使用来自 OCaml 的小型自包含 fortran 库中的函数。我可以用gfortran -shared mvndst.f -o sharedlib 编译库。调用 nm sharedlib 会显示符号列表,例如... T _mvndfn_。
阅读 ctypes 教程示例 https://github.com/ocamllabs/ocaml-ctypes/wiki/ctypes-tutorial 后,我尝试做类似 let mvndfn = foreign "mvndfn" (ptr double @-> returning float) 的事情。未找到该符号。也许并不奇怪,因为我没有告诉它在哪里看 - 但我不知道怎么看。
这可以工作吗?如何告诉 toploop 寻找这个共享库?它是 Fortran 而不是 C 有关系吗?如果程序在 toploop 中工作,我如何最终编译和链接程序?
(这是在 OS X 上)
【问题讨论】: