【lua 1.1 源码阅读总结】教程文章相关的互联网学习教程文章

Lua中的函数知识总结

前言Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下:复制代码 代码如下: function MyFunc(param) -- Do something end 在调用函数时,也需要将对应的参数放在一对圆括号中,即使调用函数时没有参数,也必须写出一对空括号。对于这个规则只有一种特殊的例外情况:一个函数若只有一个参数,并且此参数是一个字符串或table构造式,那么圆括号便可以省略掉。看以下代码:复制代码 代码如下: print "Hello World" ...

总结关于lua, c , android,在 cocos2d-x 之间的调用方法【代码】【图】

把这几天瞎搞的东西总结一下. 环境配置什么的也比较烦. ndk.java.在cocos2dx的环境中都有配置.参1很基础很基础很基础的环境配置. 1.android与C 之间的调用 android通过JNI 来调用C(不带C++玩.extern "C"), 1.1android调用C  如果要在Eclipse中用C/C++编译要在工程上选android tools 的add native support,来编译c/c++.对于cocos2dx的理论上已经设置好了. 当然如果没有. 那还是用cocos compile来编吧. 自己做的darkc项目的工程如果...

lua 生成随机数总结【代码】

lua 5.3文档中对math.random()的说明math.random ([m [, n]])当不带参数调用时, 返回一个 [0,1) 区间内一致分布的浮点伪随机数。 当以两个整数 m 与 n 调用时, math.random 返回一个 [m, n] 区间 内一致分布的整数伪随机数。 (值 m-n 不能是负数,且必须在 Lua 整数的表示范围内。) 调用 math.random(n) 等价于 math.random(1,n)。这个函数是对 C 提供的位随机数函数的封装。 对其统计属性不作担保。 通过上面的说名,我们知...

Cocos2d-x 3.2 Lua项目通过LuaSQLite3使用Sqlite3问题总结【代码】

#include "lsqlite3.h" #include "sqlite3.h" 修改xxx\frameworks\cocos2d-x\cocos\scripting\lua-bindings\manual\lua_extensions.c文件,修改如下 #include "luasocket/luasocket.h" #include "luasocket/mime.h" #include "lsqlite3/lsqlite3.h"static luaL_Reg luax_exts[] = {{"socket.core", luaopen_socket_core},{"mime.core", luaopen_mime_core},{"lsqlite3", luaopen_lsqlite3},{NULL, NULL} }; 在VS2013中打开解决方案...

Lua和C++交互总结【代码】

文不涉及lua语法学习,如果有需要,请移步:http://book.luaer.cn/ 一.lua堆栈要理解lua和c++交互,首先要理解lua堆栈。 简单来说,Lua和C/c++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。 在lua中,lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图: 二.堆栈的操作因为lua与c/c++是通过栈来通信,lua提供了C API对栈进行操作。 ...

lua-高效编程总结

1 善用local。 ---记录在栈里。 Lua采用了一种类似于寄存器的虚拟机模式。Lua用栈来储存其寄存器。每一个活动的函数,Lua都会其分配一个栈,这个栈用来储存函数里的活动记录 2 string缓存机制。 注意 ..连接,考虑table.concat 3 减少table的rehash 4 包含判断,利用散列表 5 for遍历代替fori,forp 6 避免次数很多的递归,循环 7 避免调用Unity对象的.对象

lua 1.1 源码阅读总结

GC 1. 怎么回收的lua 中所有已经分配的数据都会用一些指令的数据结构来记录,当需要回收时,先遍历当前栈内所有 object,把 ref 标志位打上 1,遍历符号表(这部分不能回收),反符号表中的所有对象的 ref 标志位也打上 1, 如果有其它不用回收的也同样操作。回收也比较简单,这里遍历所有内部数据结构,如果是 0 就直接释放, 如果是 1 就置 0(可能下次就回收了), 这样就结束了2. 何时回收这个 1.1 有个内部阀值,当新加 object 的...

lua热更新方案总结

1:clearcache 2:inject 3:玩家长连接gate 后台新启动进程或者微服务加载新脚本,然后玩家断开旧微服务或者进程,重新连接新微服务或者进程 4:内存数据存入redis,进行数据分离以后,只需要重新加载 5:进行打补丁方式热更数据 6:永久驻留的 数据 + 动态更新的代码(一个进程 保存 全局数据 其他工作进程 读取全局数据)