Я хочу реализовать разделяемую библиотеку для Linux / FreeBSD в OCaml, и мне нужно, чтобы она имела интерфейс C. Таким образом я смогу реализовать привязки для разных языков. У меня есть несколько опасений:
- OCaml собирает мусор, и я боюсь, что объекты, переданные во внешний код, могут быть объединены в сборку мусора. Можно ли отключить сборщик мусора? Может есть другой способ решения таких проблем?
- Есть ли способ написать код OCaml, такой как
extern "C"
C ++ или ему подобный, чтобы он отображался как символ C? - Есть ли какой-нибудь аналогичный язык высокого уровня, который лучше подходит для написания солибов? Мне все еще нужно, чтобы компилятор языка был написан на C / C ++, поэтому его будет относительно легко перенести на новые архитектуры.