学习makefile前,这里先汇总一下gcc相关的知识点。
//gcc参数说明: https://www.cnblogs.com/chaguang/p/8306106.html
gcc 是 GUN Compiler Collection的缩写,可以支持多种语言编译,比如 C,C++,Java, pascal 等
*
预处理(pre-processing)E:插入头文件,替换宏
*
编译(Compiling)S:编译成汇编
*
汇编(Assembling) c:编译成目标文件
*
链接 (Linking):链接到库中,变成可执行文件
gcc -E hello.c -o hello.i
gcc -S hello.i –o hello.s
gcc –c hello.s –o hello.o
gcc hello.s –o hello 链接,生成可执行文件
/hello 运行
也可以一次性完成:
gcc hello.c –o hello
但一般情况下生成.o文件比较好,可以重定位文件,让别人使用
gcc常用选项
选项名
作用
o
生成目标