我想知道如何制作C函数并能够告诉Lua,然后从Lua调用它。我在Mac OSX 10.4计算机上安装了所有Lua库。
答案 0 :(得分:7)
如果您只需要将函数导出到全局命名空间,那么:
f
声明该函数(让我们称之为lua_CFunction
)。lua_register(L, "myfunc", f)
,L为Lua状态,函数= f
。f
将在全局命名空间中以myfunc
。如果您打算使用股票口译员,那么您可能想要创建一个库。 This guy为Lua Programming Gems写了一篇文章,解释了如何做到这一点。这些消息来源可在线获取。
答案 1 :(得分:2)
您可以使用luaL_register
注册功能查看PiL
中的一些示例和解释答案 2 :(得分:2)
My answer here包含了一个很好的简短示例,用于将C和Lua组合在一起制作一个非常简单的游戏。在我的偏见中,这是一个很好的起点。