我现在正在开发一种脚本语言,它还没有 FFI。我想知道最方便的方法是什么,假设我想像酷炫的极客一样编写 FFI - 我想用脚本语言自身编写 FFI。
我需要与之接口的编程语言是 C。所以对于基础知识,我知道 libdl.so 是我的好朋友。显然,这不是我唯一需要的东西,但最重要的东西。
我只有一点关于我还需要什么的想法。我想获得与 python ctypes 相似的 FFI 行为。
为了达到这个目的,我需要知道些什么?我知道我需要处理一些严肃的数据结构魔法。如何管理它,以便我可以在脚本语言本身中完成大部分严肃的魔法?我将从这样的魔法中获益很多,不仅限于外来函数接口。例如,我可能想将类似 C 的二进制数据传递给文件。