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

SHa*_*SHa 4 c lua function call libraries

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

Pab*_*ich 7

这里这里有一个很好的Lua-C集成示例.

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

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

如果您打算使用股票解释器,那么您可能想要创建一个库.这家伙Lua Programming Gems撰写了一篇文章,解释了如何做到这一点.这些来源可在线获取.