我有一个用c和lua组合编写的程序。我知道如何编译c程序,我知道如何编译lua程序,但我不知道如何将混合程序编译成单个可执行程序。同样重要的是要注意我正在使用lua c api。
编辑:只是为了澄清,我不是以任何形式或形式使用lua解释器。
答案 0 :(得分:3)
我最简单的方法是存储编程字符串,然后使用luaL_dostring()
函数执行它。
我没有检查,但我非常确定您可以使用luac编译Lua代码并将其存储在char []
缓冲区中,而不是存储脚本源代码。
这将通过在编译时(而不是在运行时)将源代码编译为Lua VM字节码一次来加快速度。
类似的东西:
const char *luacode = "print('Hello')";
lua_State *L;
...
...
luaL_dostring (L, luacode);