预处理
带#的头文件展开: #include <stdio.h>包含文件stdio.h(预处理时将stdio.h 文件拷贝至预处理文件中)
删除注释:注释有两种方法:// /**/
宏替换:#define 代表是声明一个宏,在预处理时会将宏给替代
预处理时 不会检查语法错误
条件编译等
main.c
gcc -E main.c -o hello.i
条件编译
#if abc
printf("a = %d\n",a);
#endif
gcc -E main.c -o hello.i -Dabc
编译
将预处理文件编译生成汇编文件
检查语法错误
gcc -S hello.i -o hello.s
汇编
将汇编文件编译生成二进制文件.0
gcc -c hello.s -o hello.o
链接
设置运行环境,堆栈等,链接其他库
gcc hello.o -o hello
system库函数的使用
启动另外一个程序
或者(打开记事本)