我如何制作一个可以从Lua调用的C函数?

时间:2010-11-16 02:32:40

标签: c function lua call libraries

我想知道如何制作C函数并能够告诉Lua,然后从Lua调用它。我在Mac OSX 10.4计算机上安装了所有Lua库。

3 个答案:

答案 0 :(得分:7)

有一个很好的Lua-C集成示例herehere

如果您只需要将函数导出到全局命名空间,那么:

  1. 使用签名f声明该函数(让我们称之为lua_CFunction)。
  2. 调用lua_register(L, "myfunc", f),L为Lua状态,函数= f
  3. 运行lua代码。然后f将在全局命名空间中以myfunc
  4. 的形式提供

    如果您打算使用股票口译员,那么您可能想要创建一个库。 This guyLua Programming Gems写了一篇文章,解释了如何做到这一点。这些消息来源可在线获取。

答案 1 :(得分:2)

您可以使用luaL_register

注册功能

查看PiL

中的一些示例和解释

答案 2 :(得分:2)

My answer here包含了一个很好的简短示例,用于将C和Lua组合在一起制作一个非常简单的游戏。在我的偏见中,这是一个很好的起点。