如何在没有(或没有足够)文档的情况下分析开源代码?

max*_*mus 12 open-source code-analysis

我有一个开源代码,大约15 MB.我想了解那里使用的主要算法.我开始分析该代码的每个部分,但我认为这将花费很多时间.有没有办法让过程更容易?我之前没有这样做,所以这是我的第一次体验.

这一个,可能有人知道:https://launchpad.net/cuneiform-linux

Mil*_*kov 7

使用Doxygen.它创建了一个易于浏览的HTML代码库交叉引用.它还可以创建依赖/类图(如果代码是OOP).

代码不需要特殊格式的注释.虽然它确实有帮助,但Doxygen足够聪明,可以解析代码并自行解决问题.我最喜欢的是能够点击任何函数名称,变量,类等,并立即跳转到声明,定义的位置,并显示使用它的所有位置的列表.我过去使用Doxygen来咀嚼一些相当大的代码库(例如PHP源代码)并且它节省了我很多时间.

您还可以设置Eclipse CDT并将所有源文件导入到项目中,并获得类似的代码浏览器.虽然,在这种情况下,某些类似函数/类索引的东西是不可用的.


sle*_*man 2

由于它是 C++ 代码,因此您可能会发现Source Navigator很有用。