最近一些工作需要,觉得最好的方案是对bwa进行源码层面的优化,但是之前虽然看过c,但是也仅仅停留在hello world的水平,所以要从头梳理bwa的代码,还是蛮大的工作量,所以想着有没有一些代码函数梳理及依赖关系可视化的工具,所以进行了一些调研。
因为自己主要是用python,所以为了兼容性考虑(毕竟只支持c的话性价比略低),所以先和chatgpt咨询了一下,得到如下的一些工具推荐。一共5款
- Doxygen: Doxygen 是一个通用的文档生成工具,支持多种编程语言,包括C、Perl和Python。通过适当的配置,你可以生成这三种语言的代码文档,并包括函数之间的关系。
- Graphviz: Graphviz 是一个通用的图形可视化工具包,支持多种语言。你可以使用Graphviz创建调用图、依赖图等,同时适用于C、Perl和Python。
- cppDepend: cppDepend 不仅支持C++,还可以用于C、Perl和Python的代码分析和可视化。它提供了交互式的依赖图,帮助你理解代码结构和函数之间的关系。
- SonarQube: SonarQube 是一个用于管理代码质量的开源平台,支持多种编程语言,包括C、Perl和Python。你可以使用适当的插件进行深入的代码分析。
- Understand: SciTools Understand 支持多种编程语言,包括C、Perl和Python。它提供了代码可视化、度量和分析功能,帮助你理解代码的结构和复杂性。
网上看了下,介绍 Understand 是初步看下来,评价比较好的一款,所以优先测试这个。
Understand
软件破解
- 首先下载 Understand v6.4.1141 其他版本破解方式可能无效
- 打开HxD(好兄弟)软件,然后使用他打开刚刚复制的exe文件。好兄弟下载链接
- 使用Ctrl+F, 文本搜索 的方式搜索”areYouThere” , 用”IamNotHere!” 替代。(都不带引号)
- 然后Ctrl+F, 字节序列 模式搜索”45 33 FF 41 0F B6 C6 48 3B DF 44 0F 4E F8”,替换为 “41 BF 01 00 00 00 90 90 90 90 90 90 90 90” 。
- Ctrl+S保存退出,然后将刚刚修改的在桌面上的文件,拖到之前的bin文件替换原有的exe即可
简单应用
- Show Graphic Views
展示项目内各个代码和模块,也可以显示模块之间的关联关系。