gcc简介及常用编译选项

来源:互联网 发布:dracut命令安装linux 编辑:程序博客网 时间:2024/05/16 14:52

在 Linux 平台上,最流行的编译系统是 GCC(GNU Compile Collection)。GCC 也是 GNU


 发布的最著名的软件之一。GCC 的功能非常强大,主要体现在两方面。


 1) GCC 可以为 x86、ARM、MIPS 等不同体系结构的硬件平台编译程序。


 2) GCC 可以编译 C、C++、Pascal、Java 等数十种高级语言。

 

GCC 的这两项特性对嵌入式应用开发及其重要。此外,GCC 的编译效率也是非常高的,一般要高出其他编译系统 20%到 30%左右。所以在嵌入式 Linux 开发领域,使用的基


本上就是 GCC 编译系统。


gcc 命令的使用格式为:

 

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


gcc 命令拥有数量庞大的编译选项,按类型可以把选项分为以下几大类。

 

总体选项:用于控制编译的整个流程。常用选项:-c:对源文件进行编译或汇编。-E:对源文件进行预处理。-S:对源文件进行编译。

 

-o file:输出目标文件 file。

 

-v:显示编译阶段的命令。

 

语言选项:用于支持各种版本的 C 语言程序。常用选项:

 

-ansi:支持符合 ANSI 标准的 C 程序。

 

l 警告选项:用于控制编译过程中产生的各种警告信息。常用选项:

 

-W:屏蔽所有的警告信息。-Wall:显示所有类型的警告信息。-Werror:出现任何警告信息就停止编译。


调试选项:用于控制调试信息。常用选项:-g:产生调试信息。

 

优化选项:用于对目标文件进行优化。常用选项:-O1:对目标文件的性能进行优化。

 

-O2:在-O1 的基础上进一步优化,提高目标文件的运行性能。-O3:在-O2 的基础上进一步优化,支持函数集成优化。-O0:不进行优化。

 

连接器选项:用于控制链接过程。常用选项:-static:使用静态链接。

 

-llibrary:链接 library 函数库文件。

 

-L dir:指定连接器的搜索目录dir-shared:生成共享文件。

 

l 目录选项:用于指定编译器的文件搜索目录。常用选项:

 

-Idir:指定头文件的搜索目录 dir

 

-Ldir:指定搜索目录 dir。

 

此外,还有配置选项等其他选项,这里不做介绍了。

 

编译系统本身是一种相当复杂的程序,编写甚至读懂这样的程序都是非常困难的。但

 

是从事嵌入式 Linux 应用的开发人员都应掌握编译系统的基本原理和工作流程。