在Lua上检索模块对象

时间:2014-08-15 14:40:56

标签: lua lua-api

我有一个使用Lua运行一些脚本的C程序。我需要通过像luaopen_socket_core(myLuaState)之类的C代码打开Lua库,出于某些原因我无法从Lua代码加载模块,例如socket = require "luasocket"

现在我理解了这个程序的想法,我需要加载一个名为struct的库,所以我将struct.c添加到我的项目中,当我尝试使用它的函数时{{1} runtimer抱怨没有名为struct.unpack的全局变量。当然它加载了struct而不是luaopen_struct(myLuaState),这对我来说是禁止的。

有关提供此struct = require "struct"变量的方法的任何建议吗?

1 个答案:

答案 0 :(得分:3)

查看辅助库中的luaL_requiref,它模仿Lua调用的require

您可能直接调用了open-function而忘记手动设置这些变量,该功能可以为您完成所有操作。