Можно ли создать солиб в OCaml - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу реализовать разделяемую библиотеку для Linux / FreeBSD в OCaml, и мне нужен интерфейс C. Таким образом я смогу реализовать привязки для разных языков. У меня есть несколько проблем:

  • OCaml является сборщиком мусора, и я боюсь, что объекты, передаваемые во внешний код, могут быть G C 'ed. Можно ли отключить G C? Может быть, есть другой способ решения таких проблем?
  • Есть ли способ написать код OCaml, например, extern "C" C ++ или аналогичный, чтобы он отображался как символ C?
  • Есть ли любой подобный язык высокого уровня, который лучше подходит для написания солибов? Мне все еще нужно, чтобы языковой компилятор был написан на C / C ++, поэтому его будет относительно легко перенести на новые архитектуры.

1 Ответ

0 голосов
/ 29 апреля 2020

То, что я пытался сделать sh, невозможно, как упоминалось. Было решено выставить библиотеку через D-Bus, потому что трудно правильно реализовать привязки для множества языков программирования, но в настоящее время каждый язык имеет батарейки для D-Bus.

PS: Rust может быть хорошим инструментом для реализует C solib.

...