LuaJIT FFI cdef 不支持“class”关键字?

这是尝试使用ffi.cdef声明该函数时的错误:

Error: dllImport.lua:861: declaration specifier expected near 'class' at line 20

这怎么可能呢?如果我必须在cdef中声明'class',我要怎么做?

点赞
用户63791
用户63791

class 是 C++ 中的关键字,而在 C 中并没有这个关键字。LuaJIT 在 FFI 块中期望的是 C 代码,而不是 C++ 代码。

关于如何解决这个问题,取决于你的具体情况。你可以将它定义成一个 C struct,或者寻找其他访问方式。

2015-07-22 22:53:16