gpt4 book ai didi

c - 生成C项目的callview树

转载 作者:行者123 更新时间:2023-12-02 03:27:43 25 4
gpt4 key购买 nike

我必须处理一个相当晦涩的 C 项目,该项目大约有 500 个文件和 25 万行,几乎没有文档。更糟糕的是,项目的一半是用汇编语言编写的。我知道,这很荒谬......

无论如何,为了获得代码结构的总体概述,我想生成一个调用 TreeView ,比 Doxygen 可以用 Graphviz 做的更好一点。 .

所以我准备使用 ctags 编写自己的解析器和查看器的输出和 cytoscape .但在此之前,想知道这样好的程序是否已经可用并可用于命令式语言。

例如,这就是我对下面代码的期望

主程序

void main() {
foo(1);
}

foo.c

void foo(int a) {
bar(a);
baz(a);
}

void baz(int a) {
bar(2);
}

输出:

+------+     +----------+      +----------+        +----------+
|main.c| |foo.c | |foo.c | |bar.c |
|main()|---->|foo(int a)|--+-->|foo(int a)|------->|bar(int a)|
+------+ +----------+ | +----------+ +----------+
| ^
| +----------+ |
| |foo.c | |
+-->|baz(int a)|--------------+
+----------+

最佳答案

我会看一下 CodeQuery:https://ruben2020.github.io/codequery/

它引入 ctags 和 cscope 数据库并执行各种奇特的操作,包括(显然)生成调用图,尽管我从未尝试过该特定功能。它还比 C 支持更多。

关于c - 生成C项目的callview树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438145/

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