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

发布于 2025-01-08 13:36:56 字数 617 浏览 1 评论 0原文

在我的应用程序中,我想在加载 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

失去的东西太少 2025-01-15 13:36:56

您需要首先绑定函数 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文