04 2019 档案
摘要:typedef TValue *StkId; /* 堆栈中的元素 */typedef struct lua_TValue TValue; struct lua_TValue { TValuefields; /* 堆栈中的元素 */}; // 定义了双精度浮点或者通用类型定义#define TValu
阅读全文
摘要:协同程序与线程差不多,也就是一条执行序列,拥有自己独立的栈、局部变量和指令指针,同时又与其他协同程序共享全局变量和其他大部分东西。 一个具有多个协同程序的程序在任意时刻只能运行一个协同程序。 lua将所有关于协同程序的函数放置在一个名为“coroutine”的table中。 一个协同程序可以处于4种
阅读全文
摘要:在lua中,函数是一种“第一类值,它们具有特定的词法域。 第一类值:lua当中函数是一个值,他可以存在变量中(无论全局变量还是局部变量)或table中,可以作为函数参数,可以作为返回值。 词法域:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量。这也意味着lua完全可以包含“λ演算
阅读全文
摘要:高内聚低耦合McCabe 复杂度gdb dump 可以先大致看看源代码的文件结构做个模块划分猜测,然后随便挑选一个模块,找到关联的部分再顺藤摸瓜。对于需要构建的项目,摸清程序脉络的时间甚至可以在第一次等待编译构建的时间同步完成,而不需要等待构建完毕在一步步跟踪运行,甚至不需要下载代码到本地,gith
阅读全文