1,建立感性认识
1.1 源码
hello.c
int x = 10;
int y = 11;
int main(){
int z = 12;
for (int i = 0;i < 10;i++){
z *= x * y;
}
if(z>7.0)
z=1.0f;
else
z = 2.0f;
return 0;
}
1.2 编译
2005 sudo apt-get install -y graphviz-doc libgraphviz-dev graphviz
2034 ../ex_llvm/local_dbg/bin/clang -S -emit-llvm hello.c -o hello.ll
2035 ls
2036 ../ex_llvm/local_dbg/bin/opt --dot-callgraph hello.ll
2037 ls
2038 dot callgraph.dot -Tpng -o cfg.png
2039 ls
2040 pwd
2041 ../ex_llvm/local_dbg/bin/opt --dot-cfg hello.ll
2042 ls
2043 dot cfg.main.dot -Tpng -o cfg.main.dot.png
2044 history
1.3 效果图
2.控制流图分析原理
未完待续。。。