【无标题】

使用VisualStudio高效阅读代码

前言

目前市面上代码阅读的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画图能力强大,可参考
相关推荐
普通人61 天前
WebGL与WebGPU入门指南
开发语言·webgl·1024程序员节
猫猫不是喵喵.2 天前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
fish_zzzz5 天前
笔记-论数据结构2
1024程序员节
普通人66 天前
PHP文件读写完全指南
开发语言·php·1024程序员节
Martina_03216 天前
AI生成3D场景从白模换成精模后镜头全偏了?用6步检查单位、枢轴与层级替换
图像处理·人工智能·3d·ai·自然语言处理·材质·1024程序员节
星云_byto7 天前
CSS布局
人工智能·机器学习·目标跟踪·1024程序员节
张小姐的猫9 天前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
工业HMI实战笔记11 天前
印刷电路板HMI:SMT贴装的元件定位界面
制造·设计规范·设计语言·1024程序员节
Martina_032111 天前
AI生成3D模型一合并网格,材质就串色?用6步检查材质槽、UV与图集重映射
图像处理·人工智能·3d·材质·uv·游戏策划·1024程序员节
橙光成长11 天前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节