cxx2flow
v0.6.2
簡體中文| English
將C/C++ 程式碼轉換為流程圖
更多效果圖請參考GALLERY
兩種樣式:
折線 | 平滑 |
inline int read () { //快读
char c = getchar ();
int x = 0 , f = 1 ;
while (c < ' 0 ' || c > ' 9 ' ) {
if (c == ' - ' ) f = - 1 ;
c = getchar ();
}
while (c >= ' 0 ' && c <= ' 9 ' ) {
x = x * 10 + c - ' 0 ' ;
c = getchar ();
}
return x * f;
}
cargo install cxx2flow
推薦從右側的Github Release 下載對應平台的二進位。
也可以到GitHub Actions 或Nightly.link 下載最新建置的二進制,包含Linux, Windows 和MacOS 版本。
對於沒有命令列使用經驗的用戶,建議下載使用基於tauri 編寫的GUI 版本。 https://github.com/Enter-tainer/cxx2flow-gui/releases
為了編譯產生的dot 文件,你需要安裝graphviz,並將其加入PATH 中。也可以將產生的結果複製進線上的graphviz 服務中,如 http://magjac.com/graphviz-visual-editor/ 。
Convert your C/C++ code to control flow chart
Usage: cxx2flow [OPTIONS] [INPUT] [FUNCTION]
Arguments:
[INPUT] Sets the path of the input file. e.g. test.cpp
If not specified, cxx2flow will read from stdin.
[FUNCTION] The function you want to convert. e.g. main [default: main]
Options:
-o, --output <OUTPUT> Sets the output file.
If not specified, result will be directed to stdout.
e.g. graph.dot
-c, --curly Sets the style of the flow chart.
If specified, output flow chart will have curly connection line.
--cpp Use C preprocessor.
-t, --tikz Use tikz backend.
-d, --dump-ast Dump AST(For debug purpose only).
-h, --help Print help information
-V, --version Print version information
Note that you need to manually compile the dot file using graphviz to get SVG or PNG files.
EXAMPLES:
cat main.cpp | cxx2flow | dot -Tsvg -o test.svg
cxx2flow test.cpp | dot -Tpng -o test.png
cxx2flow main.cpp my_custom_func | dot -Tsvg -o test.svg
Please give me star if this application helps you!
如果这个应用有帮助到你,请给我点一个 star!
https://github.com/Enter-tainer/cxx2flow
cpp
,預設為關閉,需要使用--cpp
參數手動啟用。如果PATH
中不存在cpp
則會失敗。