C++调用的LUA脚本中加载其他库的问题
来源:互联网 发布:网络兼职招聘58同城 编辑:程序博客网 时间:2024/06/02 04:19
最近使用lua扩展c++程序,需要在调用的脚本中require另一个库,
static const luaL_reg lualibs[] =
{
{"package", luaopen_package},
LUA_EXTRALIBS{NULL, NULL}
};
const luaL_reg* lib = lualibs;
for (; lib->func; lib++)
{
lib->func(L_);
lua_settop(L_, 0);
}
以这种方式加载package库之后,会出现错误,网上搜了一下说需要用另一个函数luaL_openlibs,看了
下头文件的声明,上面有一行open all previous libraries ,于是我想用之前的方法再试一次加载
所有的库,发现还是不行,肯定有什么地方弄错了,只能看luaL_openlibs函数源码了。
luaL_openlibs在linit.c中定义
LUALIB_API void luaL_openlibs (lua_State *L) {
const luaL_Reg *lib = lualibs;
for (; lib->func; lib++) {
lua_pushcfunction(L, lib->func);
lua_pushstring(L, lib->name);
lua_call(L, 1, 0);
}
}
原来二者的调用方式还是不相同的,为什么需要这样还有待研究。
- C++调用的LUA脚本中加载其他库的问题
- C语言中调用lua 脚本执行的效率测试
- C调用lua脚本的效率测试
- C调用lua脚本的效率测试
- C调用lua脚本的效率测试
- LUA脚本调用C函数的方法
- C++中使用Lua脚本 和lua中调用c的方法
- C++中使用Lua脚本 和lua中调用c的方法
- C++中使用Lua脚本 和lua中调用c的方法
- C++中使用Lua脚本 和lua中调用c的方法
- .net core中加载lua脚本的类库- MoonSharp
- .net core中加载lua脚本的类库- MoonSharp
- .net core中加载lua脚本的类库- MoonSharp
- .net core中加载lua脚本的类库- MoonSharp
- .net core中加载lua脚本的类库- MoonSharp
- .net core中加载lua脚本的类库- MoonSharp
- openWRT中lua脚本的星号问题
- C语言中system调用shell脚本的问题
- 数据挖掘十大经典算法(4) The Apriori algorithm .
- sqllite简介
- linux 下 C 编程和make的方法 (十、C版的try catch 捕捉段错误和异常处理)
- php学习 第四节
- yum install Transaction Check Error
- C++调用的LUA脚本中加载其他库的问题
- 数据挖掘十大经典算法(5) 最大期望(EM)算法 .
- Flowchart to Code终于完成!
- php学习 第五节
- 项目管理知识体系指南(十一)项目采购管理
- Silverlight中DomainDataSource的一种Debug方法
- 又拍网架构分析
- php学习 第六节
- 【生活随笔】读书笔记之《活法》