欢迎来到站长教程网!

Ubuntu

当前位置:主页 > 服务器教程 > Ubuntu >

lua-5.1 和 lua-5.2 之间的一些差异

时间:2020-06-08|栏目:Ubuntu|点击:

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源马。

更多关于Lua的详细信息,或者下载地址请点这里 

linux

上一篇:C# 冒泡算法

栏    目:Ubuntu

下一篇:Linux串口传输文件

本文标题:lua-5.1 和 lua-5.2 之间的一些差异

本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Ubuntu/125597.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号