如何从C代码生成UML序列图?

如何从C代码生成UML序列图?,c,sequence-diagram,C,Sequence Diagram,我已经研究了一个实用程序,它解析源代码并寻找Trace2UML语法来描述序列图并创建序列图。我想知道是否可以通过解析C源代码来创建序列图? < P>我不是UML图的大行家,但我知道从代码中生成图表:顺序图或类图是面向对象的语言,如java、C++、C等许多。所以如果你问我,不可能从C语言编写的代码中生成序列图 如果您有一些用某种对象语言编写的代码,那么就有可能生成序列图,特别是在可视化范例(用于创建UML图的工具)中

我已经研究了一个实用程序,它解析源代码并寻找Trace2UML语法来描述序列图并创建序列图。我想知道是否可以通过解析C源代码来创建序列图?

< P>我不是UML图的大行家,但我知道从代码中生成图表:顺序图或类图是面向对象的语言,如java、C++、C等许多。所以如果你问我,不可能从C语言编写的代码中生成序列图


如果您有一些用某种对象语言编写的代码,那么就有可能生成序列图,特别是在可视化范例(用于创建UML图的工具)中
如果您有一些用某种对象语言编写的代码,那么就有可能生成序列图,特别是在可视化范例(用于创建UML图的工具)中 它是C(非-/)还是C++(OO)无关。该问题称为停止问题:请参阅。由于这个简单的原因,您不能从纯源创建SDs。无论如何,SD旨在强调执行代码的某个阶段,而不是所有路径。想象一下蜘蛛网这样一个SD看起来有多可笑。这根本没用。

原则上,我认为这根本不可能。源代码本质上是静态的。序列图描述了动力学行为。动态行为不在源代码中,因此无法提取


有一些工具可以从C源代码双向生成调用图,如
cflow
。也许调用图可以提供对某些源代码内部工作的一些见解。

原则上,我认为这根本不可能。源代码本质上是静态的。序列图描述了动力学行为。动态行为不在源代码中,因此无法提取


有一些工具可以从C源代码双向生成调用图,如
cflow
。也许调用图可以提供对某些源代码内部工作的一些见解。

您尝试过plantuml吗?它在doxygen上运行得非常好,我在公司模板上使用它,语法也非常简单,不过您必须自己编写调用序列。页面中有很多示例,如果您在Linux中工作,您可以使用本机打包工具安装它,这同样适用于doxygen(例如sudo apt get plantuml)。否则,如果您使用的是Windows,也可以使用官方页面上的安装程序

您必须进行一些配置,但这非常简单,我将为您留下每个工具的链接

下载网页:

Plantuml示例:

您可以在每个页面中找到文档,对于plantmul,您使用java可执行文件(.jar),然后无需安装任何东西,只需配置doxygen即可找到可执行文件,您可以在doxygen文档页面中找到如何:

如果您想在不阅读文档的情况下进行配置,还可以观看以下视频:


我希望这会有帮助,干杯。

您尝试过plantuml吗?它在doxygen上运行得非常好,我在公司模板上使用它,语法也非常简单,不过您必须自己编写调用序列。页面中有很多示例,如果您在Linux中工作,您可以使用本机打包工具安装它,这同样适用于doxygen(例如sudo apt get plantuml)。否则,如果您使用的是Windows,也可以使用官方页面上的安装程序

您必须进行一些配置,但这非常简单,我将为您留下每个工具的链接

下载网页:

Plantuml示例:

您可以在每个页面中找到文档,对于plantmul,您使用java可执行文件(.jar),然后无需安装任何东西,只需配置doxygen即可找到可执行文件,您可以在doxygen文档页面中找到如何:

如果您想在不阅读文档的情况下进行配置,还可以观看以下视频:


我希望这能有所帮助,干杯。

我已经在下面回答了你,如果你有任何建议,请告诉我。我已经在下面回答了你,如果你有任何建议,请告诉我。