lua 5.1 分支语句 bytecode 的生成(二)
上篇我们谈到了 IF 语句的 bytecode 生成,今天来谈谈布尔表达式与短路求值。 考虑到下面的表达式 a = a or 1024 其生成的字节码为 1 [1] GETGLOBAL 0 -1 ; a 2 [1] TEST 0 0 1 3 [1] JMP 1
上篇我们谈到了 IF 语句的 bytecode 生成,今天来谈谈布尔表达式与短路求值。 考虑到下面的表达式 a = a or 1024 其生成的字节码为 1 [1] GETGLOBAL 0 -1 ; a 2 [1] TEST 0 0 1 3 [1] JMP 1
本文只对 IF cond THEN block {ELSEIF cond THEN block} [ELSE block] END 语法的字节码生成过程进行描述。 生成的结果 首先我们看下面的示例,仅为演示: local cond1 = true local cond2 = true if cond1 then cond1 = false elseif cond2 then cond2 =
lua gc 调优主要涉及到两个两个参数setpause和setstepmul,使用方法如下: collectgarbage("setpause", 200) collectgarbage("setstepmul", 200) 这两个值的默认值都是200,那么这代表着什么意思
进行游戏服务器开发时,我们将C++的部分称之为引擎层,而lua称之为脚本层。但是往往有些核心逻辑是各个游戏公用的, 或者说有些引擎层的代码用C
现在很多游戏引擎都是C++ + lua的结构,一旦某个服务器开发人员大意写出死循环代码,很容易导致服务无响应,影响服务器稳定。所以引擎中最好能提
Table 在Lua中有着极其重要的应用,从核心语言实现,如short string intern, 到利用metatable实现的class,table几乎无所不能