本篇在讲什么 调试Lua源码 本篇需要什么 对Lua语法有简单认知 依赖Visual Studio工具 本篇的特色 具有全流程的图文教学 重实践,轻理论,快速上手 提供全流程的源码内容 |
![]() ★提高阅读体验★ ♠ 一级标题♥ 二级标题♣ 三级标题♦ 四级标题 |
对Lua底层一些实现有些疑问,直接看源码思路并不是很清晰,所以想把源码跑起来看一看堆栈,打一下断点
我们需要在VS内新建一个C++的控制台应用
lua官网:传送门
移步到Lua的官网,根据下图的指示,选择需要的Lua版本去下载
解压完成后是下图这个样子的
首先将解压的Lua源码下的src目录全部拷贝到刚才新建的控制台应用目录下,src下是所有Lua相关的头文件和c文件
在解决方案下引入头文件
和源文件
右键解决方案内的项目,属性页内的C/C++下的预处理器
,添加_CRT_SECURE_NO_DEPRECATE
标记,不然生成的时候会报错
在控制台应用的目录下新建测试脚本test.lua
,并添加部分lua代码,如下图所示
首先我们并不需要源码中的main入口,所以吧luac.c
和lua.c
中的main都注释了就可以了
在我们自己的脚本内引入lua的头文件,并新建lua的虚拟机去加载lua脚本
执行后的效果如下图所示
同时我们在对应的逻辑里添加断点已经可以断到了
https://github.com/KingSun5
若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。