【发布时间】:2014-07-28 02:33:19
【问题描述】:
我正在尝试在 Swift 中使用 C 库,但我无法调用任何将函数指针作为参数之一的函数。例如,我尝试在 Swift 中使用的部分 lua.h 文件如下所示:
LUA_API void (lua_setuservalue) (lua_State *L, int idx);
typedef int (*lua_CFunction) (lua_State *L);
LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
lua_CFunction k);
我使用桥接头来访问库,并且从我的 Swift 代码中我可以毫无问题地调用 lua_setuservalue。但是,如果我尝试调用 lua_callk,我会得到“使用未解析的标识符 'lua_callk'”。如果我从 lua_callk 的声明中删除函数指针,我将不再收到此错误。非常感谢任何帮助。
【问题讨论】:
-
这是一个有用的参考:stackoverflow.com/questions/36025632/…