E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Lua5.2
Lua5.2
改动
第三方cmodule,如使用luaL_register需要改为 luaL_newlib。如lfs库luaL_register(L,"lfs",fslib)改为luaL_newlib(L,fslib);。这里本来第二个参数是表明,非nil是把所有接口放到一个全局变量table中,nil就是所有接口都是全局函数。现在是强制取消全局接口了。所有第三方库没有gloable的函数了,所以使用时都要赋给一个表
puppet_master
·
2015-08-29 18:00
lua
改动
5.2
找不到lua_open
使用
lua5.2
发现编译器找不到lua_open函数,最后发现这个函数在5.2中已经被遗弃,被新的函数luaL_newstate和lua_newstate替代。
x356982611
·
2015-08-10 21:00
lua-5.1 和 lua-5.2 之间的一些差异。
但在
lua5.2
中已经不支持这一函数了,
lua5.2
的手册中建议使用luaL_setfuncs来替代luaL_register.使用如下。[cpp] viewplaincopyprint?
tianxiawuzhei
·
2015-06-02 20:00
Lua脚本反编译入门
在
lua5.2
中,总共有40种指令(id从0到39)。根据指令参数的不同,可以将所有指令分为4类:typedef enum {/*-------------------
liutianshx2012
·
2015-03-31 22:00
Lua5.2->GC实现
Lua5.2
采用垃圾回收机制对所有的lua对象(GCObject)进行管理。Lua虚拟机会定期运行GC,释放掉已经不再被被引用到的lua对象。
liutianshx2012
·
2015-03-26 14:00
关于cocos2dx3.2返回键问题以及ansi转utf8的问题
之所以只升到3.2是因为后面的版本使用了
lua5.2
,而我还是更喜欢用5.1,而且能继续使用luajit,另外一个原因是因为cocosstudio,3.2后面的版本就导出成csd格式了,我不是很喜
ycg514230
·
2015-03-21 19:00
ansi
utf8
KEY-BACK
BACKSPE
cocos2d3-2
lua5.2
中对table.insert的区别
localtmp={} table.insert(tmp,5,8)这行代码在lua5.1中会工作得很好,但到了5.2中,就不行了,会报一个数组越界的提示因此,为了兼容更高的版本,正常的写法应该是table.insert(tmp,5)
nynyvkhhiiii
·
2015-03-18 15:00
数组越界
bit32位运算库
lua5.2
中通过位库提供了位运算来修正这些影响,而不是lua中的预定义操作。这种接口设计表明lua中实现位运算不是直接针对lua的numbers,而是通过对lua的numbe
liutianshx2012
·
2015-01-14 17:00
ubuntu配置skynet
autoconfautomakelibtoolsudoapt-getinstallautoconfautomakelibtool安装readlinedevpackagesudoapt-getinstalllibreadline6libreadline6-dev安装
lua5.2
eldn__
·
2014-12-26 09:00
lua5.2
带你理解_ENV和_G
5.1之前,全局变量存储在_G这个table中,这样的操作:a=1 相当于:_G['a']=1但在5.2之后,引入了_ENV叫做环境,与_G全局变量表产生了一些混淆,需要从原理上做一个理解。在5.2中, 操作a=1相当于_ENV['a']=1这是一个最基础的认知改变,其次要格外注意_ENV不是全局变量,而是一个upvalue(非局部变量)。其次,_ENV['_G']指向了_ENV自身,这一目的是为
liutianshx2012
·
2014-12-25 13:00
Lua5.2
改动
第三方cmodule,如使用luaL_register需要改为 luaL_newlib。如lfs库luaL_register(L,"lfs",fslib)改为luaL_newlib(L,fslib);。这里本来第二个参数是表明,非nil是把所有接口放到一个全局变量table中,nil就是所有接口都是全局函数。现在是强制取消全局接口了。所有第三方库没有gloable的函数了,所以使用时都要赋给一个表
liutianshx2012
·
2014-12-23 14:00
lua
探索
Lua5.2
内部实现:Garbage Collection(2)
原文:http://blog.csdn.net/yuanlin2008/article/details/8684869GCObjectLua使用unionGCObject来表示所有的垃圾回收对象:[cpp] viewplaincopyprint?182 /* 183 ** Union of all collectable objects 184 */ 185 union GCObject {
QQ276592716
·
2014-12-21 19:00
探索
Lua5.2
内部实现:Garbage Collection(1)
Lua5.2
采用垃圾回收机制对所有的lua对象(GCObject)进行管理。Lua虚拟机会定期运行GC,释放掉已经不再被被引用到的lua对象。
QQ276592716
·
2014-12-21 18:00
在windows C++中编译并使用Lua脚本1
这里我使用的是
LUA5.2
作为 案例lua做为轻量级脚本语言已经被广泛应用到应用软件以及游戏开发中,相比Perl以及python lua的内核 只有100KB左右可以很容易嵌入到语言级别 就好像语言本身的功能一样以下来自百度全科
yue7603835
·
2014-12-05 02:00
lua调试的工具选择
Decoda现在已经停止开发并开源了,调试
lua5.2
会crash.源代码可以作为一种技术参考,很多dll
Kaitiren
·
2014-10-29 19:00
lua调试的工具选择
Decoda现在已经停止开发并开源了,调试
lua5.2
会crash.源代码可以作为一种
战魂小筑
·
2014-09-28 15:00
Lua 调用自定义C模块
这里涉及如何如何生成一个动态链接库so文件;
Lua5.2
中导出函数从LuaL_register变成了LuaL_newlib。对于具体的细节有待深入。
vonzhoufz
·
2014-09-01 15:00
c
Module
lua
luaL_newlib
Windows下编译Lua源码
2014-02-11]来源:Linux社区 作者:rangercyh[字体:大 中 小]因为之前一直使用 luaforwindows 来搭建lua的使用环境,但是最新的luaforwindows还没有
lua5.2
asome_one
·
2014-08-26 07:00
Lua环境
windows编译lua源文件
[Lua]插件管理工具LuaRocks
lua插件管理工具LuaRocks一个关于LuaRocks的ppt参考这里的环境是ubuntu,只是安装了
lua5.2
,还没有安装其他包。
lzz957748332
·
2014-08-25 19:00
unix
管理
插件
lua
luarocks
Lua的面向对象实现
配置如下:依次找到:Tools->BuildSystem->NewBuildSystem{ "cmd": ["/usr/bin/
lua5.2
","$file"], "file_regex
谁染霜林醉
·
2014-08-20 16:00
lua5.2
文档
模块管理: The package library provides basic facilities for loading modules in Lua. It exports one function directly in the global environment: require. Everything else is exported in a table package.
catdoc
·
2014-07-23 12:00
lua
Lua 与C交互 第二篇
/lua.h" #include"lua/include/lauxlib.h" #include"lua/include/lualib.h" #pragmacomment(lib,"lua/lib/
lua5.2
haifengzhilian
·
2014-06-30 13:00
lua module/package 机制的自定义读取
luamodule/package机制的自定义读取
lua5.2
后,官方建议大家放弃module/package机制,这套机制对于使用者来说是方便的,对于module的编写者简直要抓狂,所有module后的函数对
战魂小筑
·
2014-04-16 20:00
Lua5.2
新版本可变长参数操作
在Version5.2Lua的版本中,取消了默认的arg表操作函数(...)可变长参数的操作以前的:localfunctiontest(...)num=arg.nreturnnumend假如你这样调用函数test(1,2)得到的num值为2,test(1,2,3)得到的num值是3.这里的num返回传给函数可变长参数的个数但是新版本中做了一个修改,需要我们自己定义一个argtable,而且删除了a
leonjhan
·
2014-03-17 00:48
Lua
lua和tolua++的安装
目前lua发布的最新版本是2011年12月12日发布的lua-5.2.0.tar.gz,而tolua++发布的最新版本为tolua++-1.0.93.tar.bz2,该版本暂时不支持
lua5.2
(其实简单修改下代码也可以支持的
jiayichendddd
·
2014-02-16 17:00
lua 5.2 GC 源码分析 一
最近一直在看
lua5.2
的GC。总想写点自己的理解。 今天也看的差不多了,可以开始写了。
a240581469
·
2014-01-11 11:00
源码分析
lua
编译原理之学习 lua 1.1 笔记 (一)
从历史的角度研究一个程序的演变,是一种有力的研究方式.况且早期的程序简单易懂,实在是学习研究之良好选择.此次学习的重点放在虚拟机,代码生成上,与其相关的垃圾回收也可以适当了解,因已经有不少这方面的文章了.如参考等: 专栏:探索
Lua5.2
刘军兴
·
2013-12-20 16:00
lua
源码学习
探访
lua5.2
新特性及package机制模拟
探访
lua5.2
新特性及package机制模拟项目客户端脚本全面升级
lua5.2
这是自06年后最大的一次主干更新,带来的机制,函数变化也是非常不错的1.去掉了全局性质的setfenv/getfenv系列函数
战魂小筑
·
2013-12-10 16:00
lua string库函数
下面是
Lua5.2
提供的字符串操作函数:byte函数 string.byte 把字
cws1214
·
2013-11-26 13:00
windows下编译lua源码
blog.csdn.net/zjg555543/article/details/11814563因为之前一直使用luaforwindows来搭建lua的使用环境,但是最新的luaforwindows还没有
lua5.2
sunzeduo
·
2013-10-09 12:37
windows
文件夹
编译器
电脑
解释器
探索
Lua5.2
内部实现:Garbage Collection(2)
原文:http://blog.csdn.net/yuanlin2008/article/details/8684869GCObjectLua使用unionGCObject来表示所有的垃圾回收对象:182/* 183**Unionofallcollectableobjects 184*/ 185unionGCObject{ 186GCheadergch;/*commonheader*/ 187uni
yuanlin2008
·
2013-04-08 14:00
GC
lua
探索
Lua5.2
内部实现:Garbage Collection(1) 原理
Lua5.2
采用垃圾回收机制对所有的lua对象(GCObject)进行管理。Lua虚拟机会定期运行GC,释放掉已经不再被被引用到的lua对象。
yuanlin2008
·
2013-03-13 17:00
GC
垃圾回收
lua
探索
Lua5.2
内部实现:TString
原文http://blog.csdn.net/yuanlin2008/article/details/8423923Lua使用TString结构体代表一个字符串对象。/* **Headerforstringvalue;stringbytesfollowtheendofthisstructure */ typedefunionTString{ L_Umaxaligndummy;/*ensuresma
yuanlin2008
·
2013-02-05 17:00
字符串
lua
lua
TString
探索
Lua5.2
内部实现:编译系统(4) 表达式分类
原文:http://blog.csdn.net/yuanlin2008/article/details/8534583常量表达式常量表达式在Lua用来表示"nil",“true”,“false”,字符串和数字的值。在BNF中常量表达式属于终结符,也就是语法解析的最底端,在simpleexp函数中被解析出来,并创建对应类型的expdesc对象。VNIL,VTRUE和VFALSE这三个类型本身就对应3
yuanlin2008
·
2013-01-29 10:00
lua
lua
表达式
编译器
探索
Lua5.2
内部实现:编译系统(3) 表达式
原文地址:http://blog.csdn.net/yuanlin2008/article/details/8516325表达式(expression)在编程语言中代表一个可以返回值的语法单位,比如常量表达式,变量表达式,函数调用表达式,算术、关系和逻辑表达式等等。对于函数式编程语言来说,几乎所有的语句都是表达式,可以被估值。而对于命令式语言,一般会将语句分成表达式和陈述语句(statement)
yuanlin2008
·
2013-01-23 15:00
lua
lua
表达式
编译器
探索
Lua5.2
内部实现:编译系统(2) 跳转的处理
goto在
Lua5.2
中,goto和label是新加入的statement,用来执行非条件跳转。这两个statement分别在lparser.c中的gotostat和labelstat函数中被解析。
yuanlin2008
·
2013-01-21 13:00
lua
lua
指令
编译器
跳转
指令回填
探索
Lua5.2
内部实现:编译系统(1) 概述
原文Lua是一个轻量级高效率的语言。这种轻量级和高效率不仅体现在它本身虚拟机的运行效率上,而且也体现在他整个的编译系统的实现上。因为绝大多数的lua脚本需要运行期动态的加载编译,如果编译过程本身非常耗时,或者占用很多的内存,也同样会影响到整体的运行效率,使你感觉这个语言不够“动态”。正是因为编译系统实现的非常出色,我们在实际使用lua时基本感觉不到这个过程的存在。要实现一个Lua的编译系统可能不是
yuanlin2008
·
2013-01-18 19:00
lua
lua
代码生成
编译器
词法分析
语法分析
lua5.2
调用c函数成功的例子
1.main.c-----------------//动态库 #include#include#include#ifdef_cplusplusextern"C"{#endif#include#include#include staticvoidchecktoptype(lua_State*L){ if(lua_isnumber(L,-1)) printf("number");
hard_man
·
2013-01-16 11:00
探索
Lua5.2
内部实现:虚拟机指令(8) LOOP
原文
Lua5.2
种除了for循环之外,其他的各种循环都使用关系和逻辑指令,配合JMP指令来完成。
yuanlin2008
·
2013-01-15 18:00
虚拟机
lua
lua
指令
探索
Lua5.2
内部实现:虚拟机指令(7) 关系和逻辑指令
原文nameargsdescOP_JMPAsBxpc+=sBx;if(A)closeallupvalues>=R(A)+1JMP执行一个跳转,sBx表示跳转的偏移位置,被加到当前指向下一指令的指令指针上。如果sBx为0,表示没有任何跳转;1表示跳过下一个指令;-1表示重新执行当前指令。如果A>0,表示需要关闭所有从寄存器A+1开始的所有local变量。实际执行的关闭操作只对upvalue有效。JM
yuanlin2008
·
2013-01-15 12:00
虚拟机
lua
lua
指令
探索
Lua5.2
内部实现:虚拟机指令(6)FUNCTION
原文nameargsdescOP_CALLABCABC R(A),...,R(A+C-2):=R(A)(R(A+1),...,R(A+B-1))CALL执行一个函数调用。寄存器A中存放函数对象,所有参数按顺序放置在A后面的寄存器中。B-1表示参数个数。如果参数列表的最后一个表达式是变长的,则B会设置为0,表示使用A+1到当前栈顶作为参数。函数调用的返回值会按顺序存放在从寄存器A开始的C-1个寄存器
yuanlin2008
·
2013-01-13 20:00
虚拟机
lua
lua
指令
Lua5.2
中的base库
在
lua5.2
中base库增加了2个全局变量和23个函数,这些都可以在lbaselib.c里面找到。
rangercyh
·
2013-01-13 16:36
lua
lua中base库
base库
Lua
Lua5.2
中的base库
在
lua5.2
中base库增加了2个全局变量和23个函数,这些都可以在lbaselib.c里面找到。
rangercyh
·
2013-01-13 16:36
lua
lua中base库
base库
lua基本库
探索
Lua5.2
内部实现:虚拟机指令(5)Arithmetic
原文nameargsdescOP_ADDABCR(A):=RK(B)+RK(C)OP_SUBABCR(A):=RK(B)-RK(C)OP_MULABCR(A):=RK(B)*RK(C)OP_DIVABCR(A):=RK(B)/RK(C)OP_MODABCR(A):=RK(B)%RK(C)OP_POWABCR(A):=RK(B)^RK(C)上表中的指令都是与lua本身的二元操作符一一对应的标准3地址
yuanlin2008
·
2013-01-11 18:00
虚拟机
lua
lua
指令
探索
Lua5.2
内部实现:虚拟机指令(4) Table
原文nameargsdescOP_NEWTABLEABCR(A):={}(size=B,C)NEWTABLE在寄存器A处创建一个table对象。B和C分别用来存储这个table数组部分和hash部分的初始大小。初始大小是在编译期计算出来并生成到这个指令中的,目的是使接下来对table的初始化填充不会造成rehash而影响效率。B和C使用“floatingpointbyte”的方法来表示成(eeee
yuanlin2008
·
2013-01-11 18:00
虚拟机
lua
lua
指令
探索
Lua5.2
内部实现:虚拟机指令(2) MOVE & LOAD
原文nameargsdescOP_MOVEABR(A):=R(B)OP_MOVE用来将寄存器B中的值拷贝到寄存器A中。由于Lua是registerbasedvm,大部分的指令都是直接对寄存器进行操作,而不需要对数据进行压栈和弹栈,所以需要OP_MOVE指令的地方并不多。最直接的使用之处就是将一个local变量复制给另一个local变量时:locala; localb=a;1[1]LOADNIL00
yuanlin2008
·
2013-01-11 18:00
虚拟机
lua
lua
指令
探索
Lua5.2
内部实现:虚拟机指令(3) Upvalues & Globals
原文在编译期,如果要访问变量a时,会依照以下的顺序决定变量a的类型:a是当前函数的local变量a是外层函数的local变量,那么a是当前函数的upvaluea是全局变量local变量本身就存在于当前的register中,所有的指令都可以直接使用它的id来访问。而对于upvalue,lua则有专门的指令负责获取和设置。全局变量在lua5.1中也是使用专门的指令,而5.2对这一点做了改变。Lua5.
yuanlin2008
·
2013-01-11 18:00
虚拟机
lua
lua
指令
探索
Lua5.2
内部实现:虚拟机指令(1) 概述
原文Lua一直把虚拟机执行代码的效率作为一个非常重要的设计目标。而采用什么样的指令系统的对于虚拟机的执行效率来说至关重要。StackbasedvsRegisterbasedVM根据指令获取操作数方式的不同,我们可以把虚拟机的实现分为stackbased和registerbased。Stackbasedvm对于大多数的虚拟机,比如JVM,Python,都采用传统的stackbasedvm。Stack
yuanlin2008
·
2013-01-11 18:00
虚拟机
lua
lua
指令
寄存器
windows下编译lua源码
因为之前一直使用 luaforwindows 来搭建lua的使用环境,但是最新的luaforwindows还没有
lua5.2
,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码。
rangercyh
·
2013-01-07 10:04
生成lua解释器
编译lua
lua源码如何编译
lua解释器
编译lua源码
windows下编译lua源码
因为之前一直使用luaforwindows来搭建lua的使用环境,但是最新的luaforwindows还没有
lua5.2
,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码。
rangercyh
·
2013-01-04 14:27
编译lua
lua解释器
生成lua解释器
Lua
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他