《深入分析GCC 》——1.2 GCC的特点
1.2 特点 gcc 深入分析
2023-09-11 14:16:11 时间
本节书摘来自华章出版社《深入分析GCC 》一书中的第1章,第1.2节,作者 王亚刚 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
GCC作为目前较为成功的编译系统之一,具有非常突出的优点,主要包括:
(1)GCC编译系统支持众多的前端编程语言,GCC 4.4.0中${GCC_SOURCE}/gcc/目录下包含了前端编程语言处理的目录及其代码(其中,${GCC_SOURCE}表示GCC源代码的主目录,下同),主要包括C、C++、Ada、Fortran、Java、Objective-C、Objective-C++等语言的前端处理,可以使用如下命令查看这些目录:[GCC@localhost gcc-4.4.0]$ ls -l gcc drwxrwxr-x. 3 GCC GCC 69632 Apr 21 2009 ada drwxrwxr-x. 2 GCC GCC 4096 Nov 27 2013 cp drwxrwxr-x. 2 GCC GCC 4096 Nov 6 15:14 fortran drwxrwxr-x. 2 GCC GCC 4096 Oct 9 17:34 java drwxrwxr-x. 2 GCC GCC 4096 Apr 21 2009 objc drwxrwxr-x. 2 GCC GCC 4096 Apr 21 2009 objcp(2)GCC支持众多的目标机器体系结构,具有良好的可移植性,GCC 4.4.0的${GCC_SOURCE}/gcc/conf?ig/目录下包含了GCC对目标处理器的支持情况,其中包括了各种主流的处理器,例如,arm、i386、mips以及alpha等,以下是GCC 4.4.0代码所支持的处理器列表:
alpha arc arm avr cris crx fr30 frv h8300 i386 ia64 iq2000 m32c m32r m68hc11 m68k mcore mips mmix mn10300 pa pdp11 picochip rs6000 s390 score sh sparc spu stormy16 v850 vax xtensa(3)GCC具有丰富的配套工具链支持。
GCC不是一个孤立的编译工具,而是整个GNU工程中的一个组成部分。GNU工程中的其他软件,包括GNU C库glibc、GNU的调试工具gdb,以及GNU二进制工具链binutils(GNU Binutils Toolchains,例如汇编工具as,连接工具ld,目标文件分析工具objdump、objcopy等)等都与GCC关系密切,互相依赖。
可以使用下述的shell命令查看GNU二进制工具链中主要包括的工具:
[GCC@localhost paag-gcc]$ rpm -ql binutils | xargs ls -l | grep "/usr/bin" -rwxr-xr-x. 1 root root 24352 Oct 15 2014 /usr/bin/addr2line -rwxr-xr-x. 1 root root 54444 Oct 15 2014 /usr/bin/ar -rwxr-xr-x. 1 root root 527220 Oct 15 2014 /usr/bin/as -rwxr-xr-x. 1 root root 26356 Oct 15 2014 /usr/bin/c++filt -rwxr-xr-x. 1 root root 99212 Oct 15 2014 /usr/bin/gprof -rwxr-xr-x. 1 root root 588116 Oct 15 2014 /usr/bin/ld -rwxr-xr-x. 1 root root 38800 Oct 15 2014 /usr/bin/nm -rwxr-xr-x. 1 root root 212216 Oct 15 2014 /usr/bin/objcopy -rwxr-xr-x. 1 root root 276528 Oct 15 2014 /usr/bin/objdump -rwxr-xr-x. 1 root root 54448 Oct 15 2014 /usr/bin/ranlib -rwxr-xr-x. 1 root root 288560 Oct 15 2014 /usr/bin/readelf -rwxr-xr-x. 1 root root 27196 Oct 15 2014 /usr/bin/size -rwxr-xr-x. 1 root root 25832 Oct 15 2014 /usr/bin/strings -rwxr-xr-x. 1 root root 212244 Oct 15 2014 /usr/bin/strip(4)GCC提供可靠、高效、高质量的目标代码。
GCC是目前使用的最为广泛的编译器系统之一,众多工业级应用的实践证明,GCC编译系统生成的代码具有很高的可靠性和运行效率。
(5)GCC对于并行编译的支持。在GCC 4.4.0中,已经提供了对OpenMP的完整支持。
通过编译函数库来学习GCC【转】 转自:http://blog.csdn.net/u012365926/article/details/51446295 什么是库 在windows平台和linux平台下都大量存在着库。
相关文章
- Java并发编程【1.2时代】
- 开源 1 年半 star 破 1.2 万的 Dapr 是如何在阿里落地的?
- CentOS 6.4 + nginx-1.2.5 + php-5.4.15 + MySQL-5.5.31
- Atitit 效率提升法细则 v3 t028.docx Atitit 提升效率细则 目录 1. 目标 2 1.1. 配置化增加扩展性 尽可能消除编译 方便增加 调整业务逻辑 2 1.2. 统一接口
- Atitit mybatis使用简明教程 目录 1.1. Mybatis.xml 配置文件1 1.2. Datamp.xml mapper文件主要作用是分模块放sql语句2 1.3. 查询
- Atitit mq读取队列信息 范例 目录 1.1. 读取原理与主要流程1 1.2. 范例项目 C:0wkspcMqDemoPrj1 1.3. 范例代码1 1.1.读取原理与主要流程
- Atitit 项目高扩展法 目录 1. 提升语言级别1 1.1. 脚本化 dsl化 免编译2 1.2. 提升语言级别到4gl2 1.3. 语言的代际关系 sql 》script 》java2
- Atitit 面试问题高难度问题 回答不上来的分析应对法 目录 1. 问题分析法1 1.1. 判断是否超出自己范围的,直接回复超出自己范围了1 1.2. 根据生活中的解决方法,大概说下解决模式
- Atitit redis使用场合总结 使用场景 目录 1.1. 3. Session 存储1 1、 配置数据查询1 2. 排行榜应用,取TOP N操作1 1.2. 1、查找最
- Atitit java webservice客户端v2 目录 1.1. 生成stub代码wsimport.exe1 1.2. Wsimport2 1.3. clienttest3 1.1
- Atitit 信息安全体系 资料书籍表 1. 《信息安全原理与技术2 1.1. 第2章 工具箱: 鉴别、 访问控制与加密2 1.2. 第3章 程序和编程 漏洞 木马 病毒3 1.3. We
- Atitit 代码的导航 1.1.代码的层次导航 语句 函数方法 类 包 1.2.4.4. 代码可视化 流程图 一个方法内,多个代码行的关系图 语句to方法2 1.3.4.5. 类图 类结构
- 1.2什么是神经网络