0

我想在 OCaml 中为 Linux/FreeBSD 实现共享库,我需要它有 C 接口。这样我就可以实现各种语言的绑定。我有几个担忧:

  • OCaml 是垃圾收集的,我担心传递给外部代码的对象可能会被 GC 处理。是否可以禁用 GC?也许还有另一种方法可以解决这些问题?
  • 有没有办法编写像 C++extern "C"或类似的 OCaml 代码,以便将其公开为 C 符号?
  • 是否有任何类似的高级语言更适合编写 solibs?我仍然需要用 C/C++ 编写语言编译器,因此将其移植到新架构会相对容易。
4

1 回答 1

0

我试图完成的事情是不可能的。决定通过 D-Bus 公开该库,因为很难正确实现大量编程语言的绑定,但现在每种语言都有 D-Bus 电池。

PS:Rust 可能是实现 C solib 的好工具。

于 2020-04-29T09:58:15.237 回答