Прямо сейчас я работаю над языком сценариев, у которого еще нет FFI. Я хотел бы знать, как удобнее всего это сделать, предполагая, что я хотел бы написать это, как это делают крутые гики - я хотел бы написать FFI на самом языке сценариев.
Язык программирования, с которым мне нужно работать, — C. Итак, если говорить об основах, я знаю, что libdl.so — мой лучший друг. Очевидно, это не единственное, что мне понадобится, но самое важное из них.
У меня есть только слабое представление о том, что еще мне нужно для этого. Я хотел бы получить от FFI такое же поведение, как у ctypes python.
Что мне нужно знать, чтобы зайти так далеко? Я знаю, что со структурами данных есть серьезная магия, с которой мне придется иметь дело. Как мне управлять этим, чтобы я мог делать большую часть этой серьезной магии на самом языке сценариев? Я бы использовал такую магию для гораздо большего, чем просто интерфейс внешней функции. Например, я мог бы захотеть передать C-подобные двоичные данные в файлы.