背景 C语言函数调用关系图可以通过ide比如sourceinsight或者understand的关系生成。但是修改便利性不高。 graphviz提供提供了draw图的功能 原理 c语言的rtl(register transfer language)提供了汇编前的一种关系表达 gcc通过 编译选项增加 --fdump-rtl-expand,会额外生成 xxx.rtl.expand文件 egypt是一个开源工具,能够读取rtl文件,然后分rtl文件,根据调用关系生成graphviz的dot格式的关系图 流程