GCC原理
来源:互联网 发布:魔兽世界网络问题 编辑:程序博客网 时间:2024/05/21 07:53
在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编译系统。
在红旗Linux 6.0系统中已经集成了GCC,通过命令“gcc -v” 可以查看GCC中C编译器gcc的详细信息。
[root@localhost ~]#gcc -v\Using built-in specs.Target: x86-pc-linuxConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --disable-libmudflap --enable-languages=c,c++,java,fortran --disable-libgcj --with-cpu=generic --host=x86-pc-linuxThread model: posixgcc version 4.2.1
gcc命令的使用格式为:
gcc [选项] [文件名] [选项] [文件名]
gcc命令拥有数量庞大的编译选项,按类型可以把选项分为以下几大类。
l 总体选项:用于控制编译的整个流程。
常用选项:
-c:对源文件进行编译或汇编。
-E:对源文件进行预处理。
-S:对源文件进行编译。
-o file:输出目标文件file。
-v:显示编译阶段的命令。
l 语言选项:用于支持各种版本的C语言程序。
常用选项:
-ansi:支持符合ANSI标准的C程序。
l 警告选项:用于控制编译过程中产生的各种警告信息。
常用选项:
-W:屏蔽所有的警告信息。
-Wall:显示所有类型的警告信息。
-Werror:出现任何警告信息就停止编译。
l 调试选项:用于控制调试信息。
常用选项:
-g:产生调试信息。
l 优化选项:用于对目标文件进行优化。
常用选项:
-O1:对目标文件的性能进行优化。
-O2:在-O1的基础上进一步优化,提高目标文件的运行性能。
-O3:在-O2的基础上进一步优化,支持函数集成优化。
-O0:不进行优化。
l 连接器选项:用于控制链接过程。
常用选项:
-static:使用静态链接。
-llibrary:链接library函数库文件。
-L dir:指定连接器的搜索目录dir。
-shared:生成共享文件。
l 目录选项:用于指定编译器的文件搜索目录。
常用选项:
-Idir:指定头文件的搜索目录dir。
-Ldir:指定搜索目录dir。
此外,还有配置选项等其他选项,这里不做介绍了。
编译系统本身是一种相当复杂的程序,编写甚至读懂这样的程序都是非常困难的。但是从事嵌入式Linux应用的开发人员都应掌握编译系统的基本原理和工作流程。
- GCC原理
- gcc编译原理选项
- GCC -lm 的原理
- GCC 编译器原理
- gcc编译原理
- gcc编译原理
- GCC编译程序的原理
- gcc profiling的工作原理
- gcc profiling的工作原理
- GCC测试包的原理
- gcc profiling的工作原理
- GCC/G++编译原理分析
- GCC/G++编译原理分析
- GCC/G++编译原理分析
- GCC/G++编译原理分析
- gcc工作原理(转)
- 深入浅出编译原理-2-gcc编译器概览
- 透析avr-gcc的中断处理原理
- 知识库--parsing headers
- Ants(No.1852)
- 真实项目运用-RecyclerView封装
- 位运算实例3
- Android RecyclerView添加头部和尾部
- GCC原理
- 实现二分法查找(递归实现)
- 第五十一天学习笔记
- leetcode-reverse string
- 海盗比酒量
- Android PullToRefresh 完全解析
- adb 连接夜神模拟器
- Android 上传图片到JavaWeb服务器
- logback-core-1.1.7.jar