编译预处理->编译->汇编->链接
编译预处理: gcc -E hello.c -o hello.i (将头文件里的库函数插入进去)
编译: gcc -S hello.i -o hello.s ( 将C语言代码翻译程汇编语言)
汇编: gcc -c hello.s -o hello.o ( 将.s 文件转换成目标文件, 目标文件就是二进制机器码, 此.o文件威力无穷可用于查看反C语言的反汇编代码, 命令 objdump -d hello.o)
链接: gcc hello.o -o hello (将o目标文件和系统组件链接成程序, 程序就是二进制机器码)
hello 就是可执行文件
生成32位汇编代码
gcc -O2 -S test.c -m32 -fno-omit-frame-pointer