【发布时间】:2017-01-02 20:57:34
【问题描述】:
我有一些 cpp 文件,我想使用 FFI 将它们与 LuaJit 结合起来。
但问题是,我必须为几乎每个函数添加extern "c" 符号,以使 FFI 能够访问它们。
有没有更简单的方法可以做到这一点?
【问题讨论】:
-
您可以将所有函数组合在一个外部 C 块中。这还不够吗?
-
cpp文件不是我自己创建的,除了它们的功能我一无所知。我只想通过 Lua 使用它们。
-
首先,您是否检查过您的所有功能都准备好
extern "C"-ready 了吗? IE。他们是否只使用 C 类型(没有引用、没有类等)?extern "C"只关闭名称修改。 -
@ZehuiLin 你可以用
extern "C"标记任何你想要的函数,但这并不意味着所有标记的函数都是C兼容的。 -
感谢您的建议。我阅读了代码,发现我可以为它添加一个
extern "C"块。它现在似乎工作了。