从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

有些时候,我们需要将程序代码转换为流程图,这样可以使程序的算法更容易的被别人所了解。自己在阅读新的代码时,也可以将代码转换成流程图从而方便自己查看程序流程。当然,代码转换为流程图还有一个作用。。就是很多大学的实验报告都要求写出程序的流程图( ╯□╰ )。

因而,如果有一个能自动将代码转换为程序流程图的程序就好了。

本篇随笔就简要介绍一下可以完成这个任务的软件crystal REVS for C++和visustin。

crystal REVS for C++ 安装

到这里,下面有四个版本,有简要的介绍,很简单,选择一个自己想要的版本,try it

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

然后输入一个邮箱地址,即可试用,貌似是10天。

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

软件正版要几百美刀,对于学生来讲简直太贵。。其实笔者也是要写作业临时用了一下( ╯□╰ ),不知道有没有破解版,以后查到了再放上来吧。

下载下来然后就安装就好啦,我就不多说了。

使用 打开文件

在菜单栏点文件->打开,然后选择要分析的C++文件。打开。这里貌似所有的头文件都会显示找不到,暂时没有找到解决办法,但是好像不影响流程图的生成。

打开之后这样。

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

生成流程图

目前仅发现能生成某个函数的流程图,把光标放到函数名之前,然后点击生成流程图的按钮,如下图

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

然后就可以生成流程图了

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

这里也可以看见自己写的注释,如test comment,点击相应的框可以看到流程图与源代码的对应关系

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

右边还有一些小按钮,比如增大缩小字体之类的,大家捅咕捅咕就会了,我也不多说了。

编辑流程图

由于笔者要写作业,作业里面给出的流程图肯定不能全是代码构成的呀,需要加一些说明。然而因为笔者比较着急完成作业,也没在这个软件之内找到编辑流程图的方法,而是将其导出到visio中进行编辑了,我就讲一下我用的方法。

首先,为了将整个流程图导出到一张visio页面上,点击菜单栏的流程图->visio的导出设置

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

设置“在一个页面全流程图”

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

然后在流程图页面右键,点击visio的出口

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

如此即可导出成visio,进行编辑了。

visustin

  这个同样是一个代码转换成流程图的神器,支持43种语言,包括C/C++,Java等等等等。然而其也是要收费的,而且很贵很贵。而且笔者找了很长时间也没有找到一个靠谱的破解版。

  然而,其官网提供了一个demo版的下载,使用demo版,也是可以进行编辑的,只是隐藏的比较隐晦。。

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

打开软件,输入一串代码,然后点击View->draw to editor,便可以出现流程图可编辑的Editor了

从C++,Java等代码直接生成流程图——crystal REVS for C++,visustin的安装和使用

可以进行编辑,但遗憾的是不能向外保存

小结

由于笔者也使用的比较着急,只是简单的说了一下怎么使用,想要更详细的内容,可以参见其官方文档,不过是英文的。

还有一点就是crystal REVS for C++貌似不支持C++11,其至少不支持范围for语句,所以如果对流程图有较高的要求,可能需要放弃一些C++11的特性。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysfzg.html