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