GCC For Linux(GCC编译器套件)
v4.9.1 官方版 发表评论
- 软件类别:编译工具
- 软件大小:85.50 MB
- 更新时间:2018-12-28 15:45
- 软件版本:v4.9.1 官方版
- 软件语言:中文
- 软件等级:
- 官方网址:暂无
评分:
好评:0
差评:0

软件介绍
GCC For Linux是gcc编译器系列中的一种,包括C、C++、Fortran、java、Objective-C、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等),有需要的朋友快来IT猫扑网下载吧!

gcc编译器软件介绍
GCC的外部接口长得像一个标准的Unix编译器。使用者在命令列下键入gcc之程序名,以及一些命令参数,以便决定每个输入档案使用的个别语言编译器,并为输出程序码使用适合此硬件平台的组合语言编译器,并且选择性地执行连接器以制造可执行的程序。
每个语言编译器都是独立程序,此程序可处理输入的原始码,并输出组合语言码。全部的语言编译器都拥有共通的中介架构:一个前端解析符合此语言的原始码,并产生一抽象语法树,以及一翻译此语法树成为GCC的暂存器转换语言〈RTL〉的后端。编译器与静态程序码解析技术(例如FORTIFY_SOURCE,一个试图发现缓冲区溢位〈buffer overflow〉的编译器)在此阶段应用于程序码上。最后,适用于此硬件架构的组合语言程序码以Jack Davidson与Chris Fraser发明的算法产出。
几乎全部的GCC都由C写成,除了Ada前端大部分以Ada写成。
前端接口
前端的功能在于产生一个可让后端处理之语法树。此语法解析器是手写之递归语法解析器。
直到2004年,程序的语法树结构尚无法与欲产出的处理器架构脱钩。而语法树的规则有时在不同的语言前端也不一样,有些前端会提供它们特别的语法树规则。
在2005年,两种与语言脱钩的新型态语法树纳入GCC中。它们称为GENERIC与GIMPLE。语法解析变成产生与语言相关的暂时语法树,再将它们转成GENERIC。之后再使用&gimplifier&技术降低GENERIC的复杂结构,成为一较简单的静态形式(Static Single Assignment form,SSA)基础的GIMPLE形式。此形式是一个与语言和处理器架构脱钩的全域通用语言,适用于大多数的现代编程语言。
中介接口
一般编译器作者会将语法树放在前端,但其实此步骤并不看语言的种类而有不同,且不需要用到语法解析器。因此GCC作者们将此步骤归入通称为中介阶段的部分里。此类包括消解死码、消解重复运算与全域数值重编码等。
后端接口
GCC后端的行为因不同的前处理器宏和特定架构的功能而不同,例如不同的字符尺寸、呼叫方式与大小尾序等。后端接口的前半部利用这些讯息决定其RTL的生成形式,因此虽然GCC的RTL理论上不受处理器影响,但在此阶段其抽象指令已被转换成目标架构的格式。
GCC的技巧依其释出版本而有很大不同,但都包含了标准的算法,RTL由于可用的情形较少,且缺乏较高阶的资讯,因此相比较起来,增加的GIMPLE语法树形式,便显得比较不重要。
后端经由一次重读取步骤后,利用描述目标处理器的指令集时所取得的信息,将抽象暂存器替换成处理器的真实暂存器。此阶段非常复杂,因为它必须关注所有GCC可移植平台的处理器指令集的规格与技术细节。
后端的最后步骤相当公式化,仅仅将前一阶段得到的汇编语言代码藉由简单的子例程转换其暂存器与内存位置成相对应的机器码。
GCC编译器(Linux)安装教程
1. 获取源代码
从本站下载zip压缩包解压,解压后从gcc-4.9.1.tar.gz获取源代码
2. 准备工作
执行./contrib/download_prerequisites。 这个命令会下载编译gcc需要的依赖包。
3. 在gcc--4.9.1的平级目录建一个编译目录(e.g. gcc-build-4.9.1)
4. 配置
cd gcc-build-4.9.1
../gcc-4.9.1/configure --prefix=/usr/local/gcc-4.9.1 --enable-threads=posix --enable-stage1-checking=release --enable-stage1-languages=c,c++ --disable-multilib
5. 编译
make
6. 安装
make install
7. 修改环境变量
export PATH=/usr/local/gcc-4.9.1/bin/:$PATH
8. 查看gcc版本
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.9.1/libexec/gcc/x86_64-unknown-linux-gnu/4.9.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.1/configure --prefix=/usr/local/gcc-4.9.1 --enable-threads=posix --enable-stage1-checking=release --enable-stage1-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 4.9.1 (GCC)
gcc编译器使用方法
在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是编译器所需要的参数,filenames给出相关的文件名称。
-c,只编译,不链接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。
-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。
-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。
-O,对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速度就相应地要慢一些。
-O2,比-O更好的优化编译、链接,当然整个编译、链接过程会更慢。
-Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。C程序中的头文件包含两种情况∶
A)#include <myinc.h>
B)#include “myinc.h”
其中,A类使用尖括号(< >),B类使用双引号(“ ”)。对于A类,预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而B类,预处理程序在目标文件的文件夹内搜索相应文件。
-v gcc执行时执行的详细过程,gcc及其相关程序的版本号
原版gcc manual该选项英文解释
Print (on standard error output) the commands executed to run the stages of compilation. Also print the version number of the compiler driver program and of the preprocessor and the compiler proper.
编译程序时加上该选项可以看到gcc搜索头文件/库文件时使用的搜索路径!
gcc编译器基本规则
gcc所遵循的部分约定规则:
.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件且必须要经过预处理;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是C源代码文件且不应该对其执行预处理;
.ii为后缀的文件,是C++源代码文件且不应该对其执行预处理;
.m为后缀的文件,是Objective-C源代码文件;
.mm为后缀的文件,是Objective-C++源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。
更新日志
1:全新界面,清爽,简单,高效;
2:性能越来越好。
多平台下载
Pc版GCC For Linux(GCC编译器套件) v4.9.1 官方版
猜你喜欢
编译器

编译器
编译器种类很多吗,包括c语言编译器,gcc编译器、java编译器,但如果用途来说其实也就是前端和后端的编译器,前端主要负责解析而后端则负责分析,相辅相成不可或缺,下面的这些编译器包含了主流的软件...
本类最新
360加固助手for Linuxv3.6.1.0 官方版
Windows环境安装工具jira 6.3.6 中文版32/64位 汉化版
SublimeText32位+64位电脑版v4.0.4138 官方安装中文版
安装程序制作工具(DeployMaster)v7.1.1 官方版
Java SE Development Kit 16v16.0.2 安装版
RJ TextEd(代码编辑器)v15.50 官方正式版
Red Gate .NET Reflector(.net 反编译工具)v9.0.2 汉化中文绿色版
c语言流程图生成器(autoflowchart)v3.5.3 注册码免费版
CMake编译软件v3.22.0 免费版
OllyDbg 64位程序版v2.01 最新版
Text Editor Pro(文本代码编辑器)v21.0.0 中文版
perl语言混淆工具(Perl-Obfus)v3.9 官方版
VBScript Obfuscatorv5.3 官方版
JavaScript混淆工具(JavaScript Obfuscator)v5.8 官方版
c++代码混淆工具(stunnix CXX Obfuscator)v4.9 官方版
相关软件
Source Insight(程序编译器)v3.5 中文注册版SourceInsight是一款多功能代码编译软件,支持多种语言,编译功能强大,代码阅读功能更加强大内置C、C++、C#代码分析,小编这里提供汉化注册版,有需要的就来IT猫扑下载吧!SourceInsight介绍sourceinsight支持多种语言及自动完
Dev C++v6.3 Beta2 简体中文版DevC++(TDM-GCC4.8.1)是一个c++程序的开发软件,最简单实用的c语言编程工具,中文绿色版的直接解压缩就可以使用,适合U盘随身携带的朋友哟,欢迎下载使用。官方介绍dBloodsheddev-c++是一个windows下的c和c++程序的集成开发
Resource Hacker(资源编译器)v5.1.8 绿色汉化版ResourceHacker中文版一款功能超强的资源编译器,不仅可以用于查看数据,还能在线编译、反编译,进行自主修改内容!操作无乱码,使用很便捷!有需要的朋友,可以来IT猫扑下载哦!ResourceHacker软件介绍这款小巧的资源编译器和反编译
cfree5专业版(优秀的c/c++编程开发工具)v5.0 汉化破解版cfree5是一款由c语言开发爱好者们合伙开发出来的一种c/c++编译器,这款编译器号称史上最小的编程工具,到哪里都可以随时编程,也不需要下载一些大型的编程工具,开发者们可以任意的使用这款工具对软件进行调式和编程,真
下载排行
- 1OllyDbg 64位程序版
- 2PB反编译器(PBKiller)
- 3Telerik JustDecompile最新版
- 4winhex官方完全版
- 5XJad java反编译工具
- 6Redis Desktop Manager最新编译版
- 7smali/baksmali(apk编译/反编译软件)
- 8小颖JAVA源代码反编译引擎
- 9考拉less编译工具(koala less)
- 10C/C++集成开发环境(codeblocks)








C/C++集成开发环境(codeblocks)
JD-GUI(Java反编译工具)










网友评论
查看所有0条评论