有些時候,我們需要將程序代碼轉換為流程圖,這樣可以使程序的算法更容易的被別人所了解。自己在閱讀新的代碼時,也可以將代碼轉換成流程圖從而方便自己查看程序流程。當然,代碼轉換為流程圖還有一個作用。。就是很多大學的實驗報告都要求寫出程序的流程圖( ╯□╰ )。
因而,如果有一個能自動將代碼轉換為程序流程圖的程序就好了。
本篇隨筆就簡要介紹一下可以完成這個任務的軟件crystal REVS for C++和visustin。
crystal REVS for C++
安裝
到http://www.sgvsarc.com/downloads.htm這里,下面有四個版本,有簡要的介紹,很簡單,選擇一個自己想要的版本,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的特性。