You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS2019或免费开源工具中为VC++6.0迁移的C++项目生成流程图

适用于VS2019 C++项目的免费流程图生成方案(替代Visustin)

前置准备

首先确保迁移到VS2019的C++项目已经完成项目加载与语法解析校验:

  • 打开项目后右键解决方案选择「重定解决方案目标」,适配VS2019的工具集
  • 执行一次完整生成,确保没有阻断代码解析的语法错误,避免后续流程图生成遗漏节点

如果你之前使用Code Map效果不佳,可先在Code Map设置中关闭「显示无关依赖项」,勾选「只显示已加载项目的节点」,缩小范围后生成单个模块的依赖图,再配合下述方案补全函数级的流程细节。

方案1:Doxygen + Graphviz 本地生成(无文件数量限制)

这是完全免费开源的方案,支持商用,可生成函数级调用流程图、类继承图、文件依赖图,可自定义导出样式接近Visustin效果:

  • 安装Doxygen和Graphviz两个工具
  • 打开Doxygen配置界面,在「Wizard」选项卡中指定项目源码路径、输出路径,勾选「Optimize for C++ output」
  • 切换到「Mode」选项卡,勾选「Syntactic relation diagrams」和「Call graphs」
  • 切换到「Dot」选项卡,指定Graphviz的dot.exe路径,勾选「Generate dot graphs」,可自定义节点颜色、线条样式匹配Visustin的视觉效果
  • 点击「Run Doxygen」,生成的HTML报告中可查看每个函数的独立流程图、模块级调用关系图

方案2:VS2019 免费扩展直接生成

如果不想额外安装大型工具,可直接使用VS2019的免费扩展实现:

  • 打开VS2019的扩展管理器,搜索安装Code Flow Graph Generator免费扩展
  • 扩展安装完成后重启VS,打开目标C++文件,右键点击函数/类名,选择「Generate Flow Graph」
  • 支持直接在VS界面内查看流程图,也可导出为PNG/SVG格式,支持自定义节点展示字段、跳转关联代码
  • 针对跨文件的模块级流程图,可配合VS自带的「查看调用层次结构」功能,批量导出节点后合并渲染即可

方案3:开源脚本批量生成(自定义程度最高)

如果有批量生成的需求,可基于Clang的AST解析能力实现:

  • 使用VS2019自带的clang-cl工具链导出项目的AST语法树
  • 调用开源的clang-uml工具直接根据AST生成对应的流程图、类图、调用图,配置文件可自定义输出样式、过滤规则
  • 导出的dot格式文件可通过Graphviz渲染为任意分辨率的图片,完全适配项目自定义需求

内容的提问来源于stack exchange,提问作者mpgslk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:15:03