使用VisualStudio高效阅读代码
- 前言
- 相关准备
- 导入工程
- 利用VisualStudio生成类图,结构体调用关系
- 利用EnterpriseArchitect(EA)画时序图
前言
目前市面上代码阅读的IDE工具非常丰富,也各有千秋。由于工作经历原因,研发机经历过windows、Mac、Linux平台,以及客户端服务端研发。个人而言,觉得IDE还是VisualStudio全面,工具丰富,下面主要介绍日常使用visual studio高效阅读代码的一些总结。
相关准备
- 安装:从官网下载vsstudio。
- 下载:vc助手
- 下载待分析的工程,本次以ffmpeg为例
导入工程
- 创建新项目,选择“Windows桌面应用程序”,写个项目名称,创建。
PS:推荐“windows桌面应用程序”,后续可在解决方案界面导入文件夹代码。(之前试过CMake项目不行)
- 将下载的代码整体目录拷贝到工程中。
- 切换到visualstudio的“解决方案管理器”页面,点击“显示所有文件”,可见“ffmpeg工程文件夹”已经显示在解决方案中。
- 在“ffmpeg”文件夹上右键“包括在项目中”
- 使用VC助手检测是否导入成功。“shift+alt+o”打开可见所有文件均导入到项目中。
利用VisualStudio生成类图,结构体调用关系
- 方式一:切换到类视图(1),在工程名上右键(2),查看(3),查看类图
ps:如果工程庞大且复杂,一般会生成失败,主要存在部分无法递归生成。此时可以用方式二。
- 方式二
- 类图上输入想查看的主类(主结构体),右键查看类图,会创建ClassDiagram.cd文件。
- 在ClassDiagram类图文件上,展开“InputFile”,选中所有字段,右键“显示为关联”,可以根据InputFile的变量生成相关联的类(结构体)。同时如果是C++类,可以选择展开基类调用关系。
- 这是ffmpeg bin中主要结构体调用关系
利用EnterpriseArchitect(EA)画时序图
- EA画图能力强大,可参考