我是Doxygen的新手, 我对此几乎没有疑问-
如果知道,请回答我。 预先感谢。
答案 0 :(得分:1)
如@albert所述,
我们能够生成流程图,下面是从c代码以及下面提到的其他语言生成流程图的完整过程的链接-
https://sourceforge.net/p/moritz/discussion/572218/thread/6fad0579/?limit=25#4e46
Moritz是著名工具doxygen的“附加组件”。它将c / c ++源代码中的函数和方法的nassi shneiderman图生成为html文件,可以将其包含在软件dokumentaion中,也可以使用html浏览器进行简单的介绍。 莫里茨的特点是:
步骤2:
必须配置配置才能生成点文件。
步骤3:
从DOT文件中,我们可以使用Graphviz生成流程图。
答案 1 :(得分:0)
AFAIK,Doxygen不会生成flowcharts。 流程图在今天已经没有用了,因为它们总是太大而无法读取(在1950年代和1960年代使用,当时的计算机和程序要小得多)。任何实际程序都具有至少包含数千个节点的流程图,并且该流程图不可读,因此毫无用处。
自1960年代以来,我们一直使用structured programming来避免使用流程图。还记得Dijkstra在1968年发表的论文Go to considered harmful
注意一些事情:许多简单的C宏对应于流程图的某些子部分(大于单个节点)。
您可能想要control flow graph。但是,即使太大也无法阅读(因此在实践中,您可能需要一些缩放功能)。您不需要此CFG,因为实际上它也太大。
您可以开发自己的GCC plugin来生成控制流程图(或某种流程图),但是(由于C具有预处理器,并且这解释了Doxygen无法可靠生成的原因),您需要生成它在您的编译器中。编写这样的GCC插件可能要花费几个月的时间,并且生成的图形可能太大而无法保持可读性(因此肯定不会出现在用户文档中)。因此,在实践中,您不应浪费时间来开发这种无用的工具。
但是您不需要生成流程图(实际上是不可读的)。
如果您的文档需要流程图,则您的代码设计错误。要解释一些代码,请考虑在文档中编写pseudocode。或使用更高级别的概念(例如automata,tree traversal等)。最多(但这通常是没有用的)在文档中添加一些非常简化的流程图(然后,当然,您需要自己绘制理想化的流程图)。