嵌入式Lua C ++:如何从C ++端加载多个lua模块

时间:2012-02-23 11:06:42

标签: c++ module lua loading

在我的应用程序中,我想在加载lua脚本之前在Lua中加载一个基础库。

示例:

testLib.lua

A = 5
B = 6

function foo(a,b)
    return a+b
end

test.lua

c = foo(A,B)

在我的C ++模块中,我想做类似的事情

// load the lib 
luaL_loadbuffer(L, libText, libSize, "testLib");
// run it so that the globals are known
lua_pcall(L,0,0,0);
// load the main script that uses the lib function and variables
luaL_loadbuffer(L, progText, progSize, "testLib");
// run it
lua_pcall(L,0,0,0);

这里我得到一个错误,即函数'foo'未知

有没有办法在同一个lua状态下加载多个Lua模块?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

首先需要绑定函数foo。

http://lua-users.org/wiki/BindingCodeToLua

显示了如何在绑定c数学函数的示例中执行此操作