1 | 源文件---->预处理--->编译--->汇编---->链接---->可执行文件 |
预处理器(cpp):头文件展开,宏替换,注释去掉
1 | gcc -E hello.c -o hello.i |
编译器(gcc):c文件编程汇编文件
1 | gcc -S hello.i -o hello.s |
汇编器(as):汇编文件变成二进制文件
1 | gcc -c hello.s -o hello.o |
链接器(ld):将函数库中相应的代码组合到目标文件中
1 | gcc hello.o -o hello |
直接生成可执行文件:
1 | gcc hello.c -o myapp |
指定头文件目录
1 | gcc hello.c -I ./include -o app |
./include就是头文件的目录
1 | #ifdef DEBUG |
通过gcc定义一个DEBUG宏
1 | gcc hello.c -o app -D DEBUG |
优化程序(-O大写)
优化等级 0~3,0不优化
1 | gcc hello.c -o app —O3 |
输出警告信息(-Wall)
1 | gcc hello.c -o app -Wall |
添加调试信息(-g)
1 | gcc hello.c -o app -g |