找软件用软件,到5119下载!
您的位置:5119下载>下载分类>LINUX软件>编程开发>

GCC For Linux

GCC For Linux

GCC For Linux 4.9.1 官方版

  • 版  本:4.9.1 官方版
  • 软件授权:免费软件
  • 软件大小:85.54M
  • 软件语言:英文
  • 应用平台:Linux
  • 更新时间:2022-02-07
安全无毒 无插件
基本简介
GCC For Linux

GCC编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。本站免费提供下载。

GCC For Linux


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. 获取源代码

      可以从ftp://mirrors.kernel.org/gnu/gcc/gcc-4.9.1/gcc-4.9.1.tar.gz获取源代码

      2. 准备工作

      在5119下载站本页下载并解压 GCC编译器软件包

      下载编译准备文件, 执行./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

      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为后缀的文件,是经过预编译的汇编语言源代码文件。

gcc编译器更新日志

      1:全新界面,清爽,简单,高效;

      2:性能越来越好。

5119下载小编推荐:

GCC For Linux是一款不错的软件,感兴趣的同学快下载使用吧,相信你一定会喜欢上的。{recommendWords}也是不错的软件,推荐同学们下载使用。

软件截图
  • GCC For Linux
GCC For Linux下载地址
网友评论
网名:
(您的评论需要经过审核才能显示)
  • 置顶 51网友 14-06-04 10:19:19
    这款GCC For Linux软件很不错啊,最新版本新增的功能简直不要太厉害,以后会不会有更惊喜的功能。
  • 置顶 51网友 15-09-11 08:51:13
    GCC For Linux挺好用的一款编程开发软件,挺!!!就是下载好慢啊,赶脚那网速走的好无力
  • 置顶 51网友 11-12-15 20:40:56
    亲测GCC For Linux的使用过程流畅无闪退,唯一的缺点就是占用内存稍稍有些大,不过也无伤大雅。
  • 置顶 51网友 11-07-08 23:29:40
    GCC For Linux的评论不应该这么冷清啊,我来加把力
  • 置顶 51网友 15-03-30 01:50:34
    我觉得现在的GCC For Linux已经够我用得了,什么时候想换口味了,就试试免费软件的版本
  • 置顶 51网友 13-04-09 22:41:25
    把你弄好的wind8系统给我用用吧,定期还用激活吗?
  • 7楼 51网友 16-05-22 20:48:34
    我很少评价的,不过这个软件真的太酷了!国内做软件的真的很少见能做到这么贴心的地步!
  • 8楼 51网友 12-09-14 22:40:45
    编程开发软件哪家强!5119下载站找GCC For Linux
  • 9楼 51网友 13-03-01 18:29:47
    这个GCC For Linux4.9.1 官方版好用么,我看大小是85.6MB,跟前一个版本差别并不大
  • 10楼 51网友 19-06-10 16:37:33
    哥哥。发给我一个吗