1.全局环境_GLua将所有的全局变量保存在一个常规的table中,这个table被称为全局环境,并且将这个table保存在一个全局变量_G中,也就是说在脚本中可以用_G获取这个全局table,并且_G._G 和 _G是等价的,在默认情况,Lua在全局环境_G中添加了标准库比如math、函数比如pairs、print等2.局部环境_ENV编译器在编译所有代码段(chunk)前,在外层创建局部变量_            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-20 15:13:27
                            
                                109阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            LuaJIT源码分析(一)搭建调试环境 众所周知,LuaJIT是一个针对lua编程语言的即时编译器(JIT,Just-In-Time Compiler),它执行lua代码的速度相当的快。而网络上关于LuaJIT源码的资料相当地少,只能自己开一个坑,从头开始阅读了。万事开头难。想要分析源码,第一步肯定是要先搭建一个可以调试源码的环境出来。然而,就连这个第一步,网络上可参考的内容也很有限,大概是Lu            
                
         
            
            
            
            lua源码学习笔记1. lua1) 基本数据类型2)lua是动态语言,提供了虚拟机;最终代码是以字节码的形式由解释器执行3)闭包4) lua和C的相互调用5) 协程6) 元表2. lua数据类型分析1) string2) userdata3) table4) 总结 1. lua1) 基本数据类型nil,number,string,userdata,function,thread,boolean,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-29 20:07:13
                            
                                482阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录一、Lua注册表 - 实现机制l_registry二、Lua注册表 - 初始化init_registry三、Lua注册表 - 设置值lua_setfield四、Lua注册表 - 获取值lua_getfieldLua通过实现全局的注册表,来管理全局变量、C API扩展库的加载等信息。注册表主要通过Table的数据结构进行管理,所以注册表是一个多维数组的结构。本章我们主要讲解Lua的注册表的整体操            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-28 21:46:41
                            
                                153阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            这里只是列举了lua当中用到的c 语言的知识1. lua_KFunction这个类似c#中的委托  类型是lua_KFunction ,参数是后面三个比如 定义一个 lua_KFunction  func1,就等于  声明了一个函数   int  *func1 (lua_State,int,lua_KContext)2. char**ag            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 15:49:22
                            
                                157阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             好久没有在网上留言了。。。 背景介绍因为工作的需要,后台svr要能够动态修改更新,使用C当然没有问题,问题就在于修改源码后,需要重启服务。所以就想到在C里能够嵌入一种脚本,最好是和C无缝结合的。因此就想到使用到LUA,LUA的大名圈内人士应该早有耳闻,只不过一直没有机会接触。机缘巧合,有幸一见。 俗话说得好,耳闻不如一见。LUA使用起来还是很简单的,语法和普通的脚            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-31 12:07:14
                            
                                73阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Lua源码分析 -- 对象表示Lua是动态类型的语言, 即是说类型附着于值而不变量[1]. Lua的八种基本类型空, 布尔, 数值, 字符串, 表, 函数和用户数据. 所有类似的值都是虚拟机的第一类值. Lua 解释器将其表示成为标签联合(tagged union). 如下面代码示例所示:lobject.h : 56
 /*
 ** Union of all Lua values
 */
 typ            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-12 19:53:43
                            
                                188阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            版本整理日期:2011/3/27对lmathlib.c文件中的函数进行跟调。函数是那个不重要,这里选取math_abs/*
	lmathlib.c
	取出一个TValue,转成整型,然后fabs处理。TValue可能是字符串,也可能就是数字。
	luaL_checknumber的行为是必返回一个number值
	lua_pushnumber的行为是把结果进行压栈处理,具体怎么处理还不知道
	ret            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-09 15:05:15
                            
                                45阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            【zz】http://mobile.51cto.com/iphone-286254.htm 关于LUA源代码分析学习教程是本文要介绍的内容,主要是来学习lua中关于源码的内容,具体内容来看本文详解。 原文是英文版的,利用一点时间翻译成中文的。希望bina大虾指点一二。  1. ldebug.c - 调试接口:包含访问调试钩子的函数(lua_sethook/lua_gethook/lua_g            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-08 15:12:41
                            
                                122阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                一步步调试,在lparser.c文件中luaY_parser函数是语法分析的重点函数,词法分析也是在这个过程中调用的。在这个过程中,用到一些数据结构,下面会详细说。    Proto *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, const char *name) {
  struct LexState lexstate;
  str            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-10 20:17:31
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Lua基础学习一、lua简介Lua [1] 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-10 07:27:39
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            2.         Lua变量无类型配对,但调用Lua的系统却有类型配对,这两者的矛盾导致交互设计的成本。3.         为了代码的高度复用需要把相关的类型抽象出来,但Lua的代码检测能力较宽松,即使参数配错了(不同的类系)依然可以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-30 07:59:01
                            
                                22阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上节说了Lua书写的一些细节,这次就来具体地将这些细节整理出来。一、代码书写规则        1.代码注释                  单行注释:--注释内容              &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-15 21:25:44
                            
                                51阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Lua程序设计————Lua语言入门1.程序段Lua语言执行的每一段代码称为一个程序段,即一组命令或表达式组成的序列。其中一段代码可以是在一个*.lua文件中的代码,也可以是交互模式下的一行代码。2.词法规范Lua语言中的标识符是由任意字母,数字和下划线组成的字符串(不能以数字开头)。Lua语言的早期版本中,“字母”的概念与操作系统的区域设置有关,可能导致同一程序在其他区域无法正常运行,所以这里的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-19 21:12:10
                            
                                31阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            赋值赋值的基本含义是修改一个变量或一个table中字段的值,这个和其它语言没有多少区别,但是对于Lua,有一个特性,它允许“多重赋值”,也就是一下子将多个值赋予多个变量,例如以下代码:   local x1, x2 = 2, 4           
           print(x1)     -->2           
           print(x2)     -->            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 21:31:38
                            
                                70阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            
    ------------------越是喧嚣的世界,越需要宁静的思考------------------
合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。
积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-06-15 19:17:00
                            
                                93阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
                lua中可以这样赋值: 
        local a = 0; 
        local b = 1; 
               
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-24 16:27:25
                            
                                28阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                       我们在使用lua的时候一定觉得这门语言很高级,什么都不用去处理而且速度很快,超过了一般的脚本语言,这是因为其实lua内部是由c来管理内存的分配和释放的,用起来有点像java的垃圾回收器一样,但完全不是一个东西,看过lua源码的人都知道,它是自己建立了一套lua内存管理机制的,由            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-25 08:21:21
                            
                                36阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            先来看lua中值的表示方式。 
    Java代码 
     #define TValuefields Value value; int tt
typedef struct lua_TValue {
  TValuefields;
} TValue; 其中tt表示类型,value也就是lua中对象的表示。 
    Java代码 
     typedef union {
  GCObjec            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-20 13:38:53
                            
                                18阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            lua语言快速入门1. Lua快速入门1.1 数据类型1.1.2 字符串1.1.3 布尔值1.1.4 数字1.1.5 函数1.1.6 table1.1.7 空值1.2 常用标准库1.2.1 string 库1.2.2 table 库1.2.3 math 库1.3 虚变量2. Lua 语言比较特别的几个地方2.1 Lua 的下标从 1 开始2.2 使用 .. 来拼接字符串2.3 只有 table            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-01 10:01:47
                            
                                93阅读