gcc是gnu compiler collection 的简称,他包含了多种语言的编译器,如C,C++,Objective-C,Objective-C++,Java,Fortran,andAda。但每种编译器的名字不一样,gcc and g++分别是gnu的c & c++编译器
gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件[调用预处理器cpp]
2.将预处理后的文件转换成汇编语言,生成文件.s[调用编译器gcc/egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[调用汇编器as]
4.连接目标代码,生成可执行程序[调用链接器ld]
选项可以大致分为以下几类:
全局选项 -c,-S,-E ,-o
目录选项 -Ipath,-Lpath
链接选项 -shared,-llibrary -Wl option(传递option给链接程序)
警告选项 -Wall, -Wextra,-Wconversion,-Wshardow,-Wcast-qual
调试选项 -g ,-ggdb
优化选项 -O, -O0,-O1,-O2,-O3
其它选项 -fPIC
常见的gcc参数介绍
-x language filename
设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根
据约定C语言的后缀名称是