LinuxC下的gcc编译器

一、简介

GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。gcc不仅功能强大,而且可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言,而且gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译;

二、基本用法

gcc [options] [filenames]
 options:编译器所需要的编译选项

 filenames:要编译的文件名

-o output_filename:确定可执行文件的名称
为output_filename。如果不给出这个选项,gcc就给出预设的可执行文件a.out。

-c:只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件

-g:产生调试工具(GNU的gdb)所必要的符号信息,要想对编译出的程序进行调试,就必须加入这个选项。

-O: 对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。
-O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。

1.  gcc optimize.c -o optimize


time ./optimize


2.  gcc –O optimize.c -o optimize


time ./optimize


对比两次执行的输出结果不难看出,程序的性能的确得到了很大幅度的改善


-Idirname: 将dirname所指出的目录加入到程序头文件目录列表中

-Ldirname:将dirname所指出的目录加入到库文件的目录列表中
-lname:在连接时装载名字为“libname.a”的函数库,该函数库位于系统预设的目录或者由-L选项确定的目录下。
例如,-lm表示连接名为“libm.a”的数学函数库

-static:静态链接库文件



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值