哪些开源工具可以帮助我理解用 C 编写的大型遗留应用程序?

发布于 2024-12-11 01:14:07 字数 370 浏览 2 评论 0原文

我需要一个可以用来更好地理解大型 C 语言的工具 项目。我希望能够看到各个C之间的关系 模块以及什么调用什么,最常用的函数,使用什么头文件等。

我在这里和谷歌搜索过,但所有源代码分析工具似乎都给出了 你的代码行数和其他我不感兴趣的指标。我只是 希望在进入代码之前获得事物的结构和互连方式的高级视图。

有这样的事情存在吗?

我看过这些,但它们似乎没有做我想要的事情: 源代码工具

发布这篇文章我已经尝试过 Doxygen,它似乎给了我一些我需要的东西。还有其他人吗?

I need a tool that I can use to get a better understanding of a large C
project. I'd like to be able to see the relationship between the various C
modules and what calls what, most used functions, what headers are used, etc.

I've searched here and Google but all the source code analysis tools seem to give
you the number of lines of code and other metrics that I'm not interested in. I just
want to get a high level view of how things are structured and interconnected before jumping into the code.

Does anything like this exist?

I've looked at these but they do not seem to do what I want: Source Code Tools

Since posting this I've tried Doxygen and it seems to give me some of what I need. Any others?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

美羊羊 2024-12-18 01:14:07

尝试 GNU cflow,它将分析函数的调用树 - 你会很好地看到调用职能的层次结构。或者使用 Eclipse 浏览代码。

Try GNU cflow, that will analyze the call tree of the functions - you will nicely see the call hierarchy of the functions. Or browse the code with Eclipse.

乱了心跳 2024-12-18 01:14:07

源导航器可能对某些事情有帮助(我用它来查看调用树)。请参阅屏幕截图

cxref 构建带注释的源代码交叉引用,易于查看和导航(我曾经创建我的一些代码的 HTML 参考)。请在此处查看 cxref 的源代码输出。可用于记录代码。

Source Navigator may be helpful for some things (I used it to see call trees). See screenshots.

cxref builds annotated source code cross reference that's easy to view and navigate (I used to create HTML reference of some of my code). See cxref's output on its own source code here. Can be used to document the code.

花开半夏魅人心 2024-12-18 01:14:07

它不是 OSS,但工具 CppDepend 在理解用 C 编写的大型遗留应用程序时肯定可以提供帮助或 C++。

It is not OSS, but the tool CppDepend can certainly help when it comes to understand a large legacy application written in C or C++.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文