我正在寻找的是一个工具,给定一个根源文件,输出一个文件依赖关系图(与一些自定义引发,当然,像 – maxdepth等)
对于那些不耐烦的人来说,和我一样,只是想要一个命令列表,而不是RTFM :)所以没有更多的东西(假设你有Debian,或者类似的)…
首先,安装Doxygen和Graphviz(为绘制有向图提供`dot'):
apt-get install doxygen graphviz
接下来,告诉Doxygen生成一个初始配置文件,然后我们可以手动修改:
doxygen -g
这将导致在当前目录中生成一个名为Doxyfile的新配置文件。 然后你可以用你最喜欢的文本编辑器来修改它。 确保将以下标志设置为指定的值:
HAVE_DOT = YES RECURSIVE = YES EXTRACT_ALL = YES GENERATE_LATEX = NO # Unless you want LaTeX output besides the HTML ...
您可能还需要设置以下两个标志来告诉Doxygen在哪里生成文档(基本上只是一堆组织到目录结构中的文件):
PROJECT_NAME = Foobar OUTPUT_DIRECTORY = /tmp/foobar/doc
剩下的就是告诉doxygen做它的事情:
cd foobar/src doxygen ~/Doxyfile # Assuming you saved Doxyfile in your home directory.
现在,如果幸运的话,可以将浏览器指向/tmp/foobar/doc/html/index.html文件,选择“文件”选项卡,然后单击一个头文件来查看两张漂亮的图:显示头文件包含哪些头文件(直接或间接),而另一个头显示其他文件直接或间接包含给定的头文件。
doxygen有一个文件依赖关系图作为其几个输出之一。 这可能不是你想要的,但它是一个开始。
我知道这不是开源的(也不是Linux,你没有提到你的问题,但在你的标签),但我发现这个问题的最佳解决方案是ProFactor包括管理器 – 这是一个问题的最佳答案我问 ,这几乎是你的问题的一个确切的欺骗,减去开源位(因此为什么我没有把你的问题标记为我的一个骗局)。
之前曾被问过很多次。 总是相同的答案 – doxygen 。