我有一个使用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"
变量的方法的任何建议吗?
答案 0 :(得分:3)
查看辅助库中的luaL_requiref
,它模仿Lua调用的require
。
您可能直接调用了open-function而忘记手动设置这些变量,该功能可以为您完成所有操作。