关于GCC的重要知识点。
一,GCC编译的四个阶段。
1,预处理,将头文件内容和源代码组合生成.i文件,可以用-E让gcc在于处理结束后停止编译过程查看。
2,编译,生成汇编代码.s,可以用-S查看,该选项只进行编译不进行汇编。
3,汇编,将.s文件转换成.o文件,用-c选项可看到汇编代码已转化成.o的二进制代码。
4,链接,生成可执行文件。
二,GCC常用编译选项。
-g : 产生调试器GDB所需要的符号信息。
-Idir : 添加头文件搜索的目录列表。一般GCC搜索头文件的默认目录是/usr/include/如果在工程应用中程序员自己定
了一个头文件目录,就用可以使用-I将该目录追加上。
-Ldir:添加库文件搜索的目录列表。一般GCC搜索库文件的默认目录是/usr/lib。如果在工程项目中程序员自己生成
了很多的库文件,就可以使用-L链接,将该库文件的搜索目录追加上。
-llibrary:连接名为 library 的库文件。库文件的真正名字是`liblibrary.a'。
-static:静态编译,链接静态库。
注:在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换, 这称为“宏代换”或“宏展开”。
宏代换是由预处理程序自动完成的。