linux 应用程序开发之GCC程序的使用

GCC是GNU C COMPILER 的缩写,是一个多平台的编译软件,它能够将C、C++、汇编语言编译、链接成可执行的文件。

认知GCC:

1.GCC产生应用程序需要预处理、编译、汇编、链接四个阶段。

2.GCC通过文件的后缀来识别程序的类型,归类如下:

C语言的源文件是以.c为后缀。

.i为经过预处理后的C文件。

C++语言的源文件是以.C或者.cxx或者.cc为后缀。

.ii为经过预处理后的C++文件。

.o为编译后的目标文件。

.a为后缀的文件是指目标文件构成的库文件。

.h为头文件。

.s为汇编文件。

.S指经过预处理的汇编文件。

3.GCC的基本用法:

gcc [ 编译选项] [文件名]

下面简单介绍其编译选项:

-o选项:指明输出的文件名,如 gcc hello.c -o hello 就表示输出的文件为hello,如果不指定-o选项的话,gcc 会将编译的输出文件命名为a.out.

-c选项:是指gcc只编译但不链接。

-g选项:是指在编译链接的时候增加调试的信息,当然,由于在输出文件中增加了调试信息,因此,编译出来的文件比不加-g的文件要大一些。如gcc -g hello.c -o hello.

-O或者-O2选项:是指在编译的过程中对软件进行优化,只是优化的级别不一样,-O2的优化更深入和彻底一些。

-I选项:用于指定在usr/include头文件库里面找不到的头文件。如在文件中有两个头文件other.h 和stdio.h,但other.h是你自己编写的头文件而且又没有放入usr/include中,这样为了能够顺利的编译通过,你必须通过-I选项指定other.h的路径。

-L选项:同理用于指定usr/lib的默认路径里面没有的库文件。

-static选项:表示gcc使用静态链接的方式,在默认的情况下,gcc使用动态的链接方式,即不指明-static选项。注意,静态链接的文件大小要比动态链接的文件大小要大很多,使用的时候要慎用。而且静态链接库使用.a后缀,而动态链接库使用.so后缀。

-Wall选项:在编译的过程中生成警告的信息;

-w选项:表示在编译的过程中不生成警告信息。

-D选项:在文件中定义宏,如 gcc -DDEBUG hello.c -o hello 表示在编译的过程中增加对DBUG的定义。

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值