gpt4 book ai didi

c - 意大利面条代码可视化软件?

转载 作者:IT王子 更新时间:2023-10-29 00:14:21 26 4
gpt4 key购买 nike

一堆冒烟的意大利面条刚落在我的 table 上,我的任务是理解它(这样我就可以重构/重新实现它)。

代码是C,还有一堆乱七八糟的全局变量、结构类型和函数调用。

我想用以下信息绘制代码图:
- 调用图
- 哪些结构类型用于哪些函数
- 在什么函数中使用了哪个全局变量

希望这可以更容易地识别连接的组件,并将它们提取到单独的模块中。

出于类似的目的,我尝试了以下软件:
- ncc
- 标签
- codeviz/gengraph
- 氧气
- 埃及
- 流量
编辑 2:
- 框架-c
- 导航器
- 明白

这些缺点要么是
a) 要求我能够编译代码。我的代码无法编译,因为缺少部分源代码。
b) 预处理器宏的问题(比如 cflow,它想要执行 #if 语句的两个分支)。通过 cpp 运行它会弄乱行号。
c)我出于某种原因无法让软件做我想做的事情(比如doxygen;调用图生成的文档不容易找到,而且因为它似乎并没有绘制变量/数据类型,花更多时间学习 doxygen 的配置选项可能不值得)。编辑:我确实关注了 a these Doxygen instrcutions , 但它只绘制头文件依赖关系。

我在 Linux 上,所以如果该软件适用于 Linux 和免费软件,那将是一个巨大的优势。不确定我的老板是否理解购买可视化工具的必要性:-(

例如:列出在哪些函数中引用符号(=函数、变量、类型)的命令行工具会有很大帮助(如 addr2line,但对于类型/变量名称/函数和源代码)。

//T

最佳答案

我投票给 gnu global .它结合了 ctags/cscope 的所有功能以及生成完全索引的 html 的可能性,允许您在您喜欢的浏览器中浏览代码。在 apache 中启动它,您将拥有一个任何人都可以访问的网络服务,包括完整的搜索功能。

它很好地集成到 emacs/vim/甚至 bash-shell 中,您可以直接从 shell-prompt 中使用它。

要查看它在 Linux 内核上的运行情况,请访问 this

将其与圈复杂度工具相结合 plugin for eclipse它计算代码的复杂性。除了它可以处理的圈复杂度之外:

  • McCabe 圈复杂度
  • 传出耦合
  • 方法缺乏凝聚力
  • 方法中的代码行数
  • 字段数
  • 级别数
  • 范围内的本地人数
  • 参数数量
  • 语句数
  • 每个类的加权方法

...您应该拥有所需的一切。

关于c - 意大利面条代码可视化软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6826382/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com