lua-5.1 和 lua-5.2 之间的一些差异
来源:互联网 发布:知乐小说猎情 编辑:程序博客网 时间:2024/06/17 14:05
1. luaL_register 2 luaL_setfuncs
lua5.1 之中有一个luaL_register,用于把luaL_Reg 数组中的所有函数注册到lua中。但在lua5.2中已经不支持这一函数了,
lua5.2的手册中建议使用luaL_setfuncs来替代luaL_register.
使用如下。
- int luaopen_libname(lua_State *L)
- {
- static const luaL_Reg funcs[] = {
- {"func1", func1},
- {"func2", func2},
- {NULL, NULL}
- };
- #ifdef lua5.1
- //5.1 下直接使用luaL_register 就好
- luaL_register(L, "libname", funcs);
- #else //lua5.2
- lua_newtable(L);
- //先把一个table压入VS,然后在调用luaL_setfuncs就会把所以的func存到table中
- //注意不像luaL_register这个table是个无名table,可以在的使用只用一个变量来存入这个table。
- //e.g local clib = require "libname". 这样就不会污染全局环境。比luaL_register更好。
- luaL_setfuncs(L, funcs, 0);
- #endif
- return 1; //返回table
- }
luaL_register, 和 luaL_setfunc 实现很想,这不过luaL_register会先创建一个全局table在把函数注册到这个table中。
具体实现请参考lua源马。
0 0
- lua-5.1 和 lua-5.2 之间的一些差异。
- lua-5.1 和 lua-5.2 之间的一些差异。
- lua-5.1 和 lua-5.2 之间的一些差异
- Lua与javascript的差异
- Lua和C之间的交互
- Lua和C之间的交互【转】
- Unity3D和Lua之间的相互调用
- lua 的一些语句和操作符
- Lua的一些网站
- lua的一些细节
- lua学习:lua程序设计的一些笔记
- 【cocos2d-x + Lua(2) C++和lua数据通讯之间的互调】
- LUA和C之间的函数相互调用
- lua和C/C++语言之间的调用
- C++和lua数据通讯之间的互调
- Lua中__index和__newindex之间的沉默与合作
- lua关于require和package.loaded 之间的关系
- Lua中__index和__newindex之间的沉默与合作
- 如何对长期出差的员工进行“人文关怀”,前提是差旅标准仍然很抠?
- XML文档解析
- C++第三次实验-项目2
- Win7、Ubuntu双系统正确卸载Ubuntu系统
- 【route】管理本地路由信息
- lua-5.1 和 lua-5.2 之间的一些差异
- git添加新的remote
- Java IO最详解
- xshell工具或Linux系统中运行jar文件
- 为新手准备的 Codea 着色器(Shader)教程
- 多态、包装类、抽象类
- Leetcode笔记—最大路径和
- IPC(四)_Aidl的基本使用过程
- Zookeeper基础—Zookeeper安装与配制(Linux)