Последние три дня я непрерывно работал над полностью управляемым интерфейсом к Erlang. На данный момент я решил, что просто должен быть более легкий путь. У меня чуть более 3000 строк, и он еще даже не находится в состоянии компиляции. Если честно, я теряюсь в своем собственном коде.
Итак, я вспомнил, что в Erlang есть библиотека C с именем erl_interface. К сожалению, он поставляется только в виде файла .LIB, который нельзя использовать через P / Invoke. Сейчас я изучаю способы предоставления статической библиотеки через DLL.
Я бы хотел держаться подальше от Visual C ++, в основном потому, что я не программист на C / C ++ по натуре, и мне очень трудно его настроить. TinyC - мой любимый компилятор при работе с чем-либо в C.
Как мне это сделать?
Я знаю, что могу связать erl_interface с DLL, но как я могу выставить функции? Должен ли я по сути обернуть каждый из них в свой собственный экспорт? Это, вероятно, не будет проблемой, так как я мог бы написать скрипт для генерации кода из заголовочного файла. Но есть ли более простой способ, о котором я просто не знаю?
Также, пожалуйста, не рекомендуйте OTP.NET. Это хорошая библиотека, но я хочу использовать это большой проект, поэтому я бы хотел оставить его на месте.