嵌入式 Lua C++ : 我如何从 C++ 加载多个 lua 模块边
在我的应用程序中,我想在加载 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 模块?
感谢您提前的帮助
in my application I would like to load a base library in Lua before loading the lua script.
example:
testLib.lua
A = 5
B = 6
function foo(a,b)
return a+b
end
test.lua
c = foo(A,B)
In my C++ module I would like to do something like this
// 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);
here I get an error that the function 'foo' is not known
Is there a way to load multiple Lua modules on the same lua state ?
thanks for the help in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要首先绑定函数 foo 。
http://lua-users.org/wiki/BindingCodeToLua
展示了如何在示例中执行此操作他们绑定 c 数学函数的地方
you would need to bind the function foo first.
http://lua-users.org/wiki/BindingCodeToLua
shows how to do it on an example where they bind c math functions