GCC编译器的使用

目录

GCC通过后缀来区别输入文件的类别,GCC所遵循的部分约定规则。

 GCC的使用

GCC执行编译工作的步骤:


GCC通过后缀来区别输入文件的类别,GCC所遵循的部分约定规则。

●以.c为后缀的文件,是C语言源代码文件。

●以.a为后缀的文件,是由目标文件构成的档案库文件。

●以.C、.cc或.cxx为后缀的文件,是C++源代码文件。

●以.h为后缀的文件,是程序所包含的头文件。

●以.i为后缀的文件,是已经预处理的C源代码文件。

●以.ii为后缀的文件,是已经预处理的C++源代码文件。

●以.m为后缀的文件,是Objective-C源代码文件。

●以.o为后缀的文件,是编译后的目标文件。

●以.s为后缀的文件,是汇编语言源代码文件。

●以.S为后缀的文件,是经过预编译的汇编语言源代码文件。


 GCC的使用

GCC命令格式 :  gcc [options] [ filenames]

部分选项说明如下。

●-x language filename        设定文件使用的语言,使后缀名无效。

例如:    gcc -x c hello.cd        //指定文件所使用的语言为c,虽然其后缀为.cd

●-x none filename:        让GCC根据文件后缀,自动识别文件类型。

例如:        gcc -x c hello.cd -c none test.c        //将根据test.c 的后缀名来识别文件,而指定hllo.cd的文件类型为c文件

●-c        只激活预处理、编译和汇编,也就是只把程序编译成obj文件(目标文件)。

例如:        [root@localhost ~ ] #gcc c hello.c         //生成 .o的obj文件: hello.o

●-S        只激活预处理和编译,也就是指把文件编译成汇编代码。

例如:        [root@localhost ~ ] #gcc -S hello.c        //生成.s的汇编代码,可以使用文本编辑器进行查看

●-E        只激活预处理而不生成文件,要把它重定向到一个输出文件里。

例如:[root@localhost ~ ] #gcc E hello.c >check.txt

●-o        制定目标名称,默认的时候,GCC编译出来的文件名是a.out。

例如:

[root@localhost ~ ] #gcc -o hello hello.c

[roo@locahlost ~ ]#gcc -o hlleo.asm -S hllo.o

●-pipe        使用管道代替编译中临时文件。

例如:        gcc -pipe -o hello.exe hello.c


GCC执行编译工作的步骤:

1、预处理(预编译),生成i文件。使用预处理器cpp。

2、编译,将预处理后的文件转换成汇编语言,生成s文件。使用编译器egcs。

3、汇编,由汇编变为目标代码,生成.o文件。使用汇编器as。

4、链接, 链接目标代码,生成可执行程序。使用链接器ld。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值