1、预处理 头文件展开(不检查语法错误)宏定义替换替换注释展开条件编译 gcc -E xxx.c -o xxx.i 2、编译 gcc -S heelo.i -o hello.s 逐行检查语法错误将C程序翻译成 汇编指令,得到.s汇编文件 3、汇编 翻译:将汇编指令翻译成对应的二进制编码 gcc -c helo.s -o hello.o 4、链接 数据段合并数据地址回填库引用 gcc hello.o -o hello.exe