有些时候,我们需要将程序代码转换为流程图,这样可以使程序的算法更容易的被别人所了解。自己在阅读新的代码时,也可以将代码转换成流程图从而方便自己查看程序流程。当然,代码转换为流程图还有一个作用。。就是很多大学的实验报告都要求写出程序的流程图( ╯□╰ )。
因而,如果有一个能自动将代码转换为程序流程图的程序就好了。
本篇随笔就简要介绍一下可以完成这个任务的软件crystal REVS for C++和visustin。
crystal REVS for C++ 安装到这里,下面有四个版本,有简要的介绍,很简单,选择一个自己想要的版本,try it
然后输入一个邮箱地址,即可试用,貌似是10天。
软件正版要几百美刀,对于学生来讲简直太贵。。其实笔者也是要写作业临时用了一下( ╯□╰ ),不知道有没有破解版,以后查到了再放上来吧。
下载下来然后就安装就好啦,我就不多说了。
使用 打开文件在菜单栏点文件->打开,然后选择要分析的C++文件。打开。这里貌似所有的头文件都会显示找不到,暂时没有找到解决办法,但是好像不影响流程图的生成。
打开之后这样。
生成流程图目前仅发现能生成某个函数的流程图,把光标放到函数名之前,然后点击生成流程图的按钮,如下图
然后就可以生成流程图了
这里也可以看见自己写的注释,如test comment,点击相应的框可以看到流程图与源代码的对应关系
右边还有一些小按钮,比如增大缩小字体之类的,大家捅咕捅咕就会了,我也不多说了。
编辑流程图由于笔者要写作业,作业里面给出的流程图肯定不能全是代码构成的呀,需要加一些说明。然而因为笔者比较着急完成作业,也没在这个软件之内找到编辑流程图的方法,而是将其导出到visio中进行编辑了,我就讲一下我用的方法。
首先,为了将整个流程图导出到一张visio页面上,点击菜单栏的流程图->visio的导出设置
设置“在一个页面全流程图”
然后在流程图页面右键,点击visio的出口
如此即可导出成visio,进行编辑了。
visustin这个同样是一个代码转换成流程图的神器,支持43种语言,包括C/C++,Java等等等等。然而其也是要收费的,而且很贵很贵。而且笔者找了很长时间也没有找到一个靠谱的破解版。
然而,其官网提供了一个demo版的下载,使用demo版,也是可以进行编辑的,只是隐藏的比较隐晦。。
打开软件,输入一串代码,然后点击View->draw to editor,便可以出现流程图可编辑的Editor了
可以进行编辑,但遗憾的是不能向外保存
小结由于笔者也使用的比较着急,只是简单的说了一下怎么使用,想要更详细的内容,可以参见其官方文档,不过是英文的。
还有一点就是crystal REVS for C++貌似不支持C++11,其至少不支持范围for语句,所以如果对流程图有较高的要求,可能需要放弃一些C++11的特性。