摘要: 上值 在介绍闭包前,先要介绍下什么是上值,上值就是外部函数的局部变量。注意,是针对局部变量而已的。 local function f1() local x = 1 local function f2() print(x) end f2() end f1() 比如上面的代码,在 f1 中定义了一个局部 阅读全文
posted @ 2024-04-27 23:01 墨色山水 阅读(225) 评论(0) 推荐(0)
摘要: 函数原型 我们平时在定义一个 lua 函数时,它内部实现对应的 c 实现是怎么样的,需要用到多少字段来记录一个函数的基本信息呢,接下来,我们看看 lua 函数原型的结构定义: typedef struct Proto { CommonHeader; // 固定参数的数量 lu_byte numpar 阅读全文
posted @ 2024-04-24 20:43 墨色山水 阅读(325) 评论(0) 推荐(0)
摘要: 整体框架 目前使用的服务端框架: 小区路由服在启服时,会监听一个端口,其他服会做为客户端连接路由服,连接是单向的,只有其他服去连接路由服。但小区路由服会去连接跨服路由服,最终形成一个星型结构。 game 服,commonsvr 公共服等服(简称客户端),在选择哪个路由 router 时,有以下几种方 阅读全文
posted @ 2024-04-20 21:40 墨色山水 阅读(28) 评论(0) 推荐(0)
摘要: lua 与c进行交互,或者lua函数执行,都需要用到栈,接下来就先了解下 lua 栈的内部实现。 了解栈的实现,可以从2个方面出发,栈结构在哪定义,栈存储的元素是什么。 lua 栈主要放在 lua_State 结构上,摘要 lua_State 一些和栈相关的字段: /* ** 'per thread 阅读全文
posted @ 2024-04-19 15:55 墨色山水 阅读(231) 评论(0) 推荐(0)
摘要: 一致性哈希算法介绍 一致性哈希算法其实是一种特殊的哈希算法,哈希算法,简单的来说,就是对一个 key(可以是数字,字符串) 进行一个种运算,最终得到一个固定不变的数字,即哈希值。网上也有不少哈希算法具体实现,这里不具体展开了。 一致性哈希算法,是对固定长度(2^32)进行取模,得到一个固定的值a,我 阅读全文
posted @ 2024-04-15 20:24 墨色山水 阅读(75) 评论(0) 推荐(0)
摘要: 之前我有个想法,想在window下,远程执行服务器Linux下的某个脚本,我第一时间想到的是用 jekenis,但感觉如果能对输入参数更灵活操作,会更好些,然后发现一个比较有意思的工具 srlua ,它可以将lua编写的代码打包输出成 exe 文件。 srlua 目录内容如下: 操作说明: glue 阅读全文
posted @ 2023-12-30 13:23 墨色山水 阅读(1283) 评论(0) 推荐(0)
摘要: 这里搜到一篇比较好的介绍和 table dead key 相关的文章,我就做个记录把 https://luyuhuang.tech/2020/10/23/lua-next.html 这篇文章提到的例子: local k = 'a'..'b' local t = { a = 1, [k] = 2, } 阅读全文
posted @ 2023-08-11 19:02 墨色山水 阅读(28) 评论(0) 推荐(0)
摘要: 清除阶段主要是针对 g->allgc,g->finobj,g->tobefnz 这三个链表上的对象。g->allgc 链表是会存在死亡对象(没有再被引用着的对象),而 g->finobj,g->tobefnz 这两个链表,主要是存储带 __gc 元方法的对象,根据上一篇的介绍,我们知道 g->fin 阅读全文
posted @ 2023-08-08 22:02 墨色山水 阅读(52) 评论(0) 推荐(0)
摘要: 定义 如果我们给一个普通表 t,设置元表时,上带 __gc 的元方法,就会让这个表 t 在被回收时,触发 __gc 方法。例如下面的例子: local mt = {__gc = function () print("call __gc ...") end} local t1 = setmetatab 阅读全文
posted @ 2023-08-07 22:22 墨色山水 阅读(311) 评论(0) 推荐(0)
摘要: lua5.3的上值标记,涉及的内容有点多,就单独拿出来分析下,做下笔记。 我们知道,上值的引用者是闭包,其中包括了lua闭包,和c闭包,被引用者往往是栈上的对象。 c闭包上值 mark 先从简单的c闭包开始看起。 static lu_mem traverseCclosure (global_Stat 阅读全文
posted @ 2023-08-03 21:55 墨色山水 阅读(74) 评论(0) 推荐(0)