【基本简介】

GNU Compiler Collection是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,亦是自由的类Unix及苹果计算机Mac OS X 操作系统的标准编译器。

GCC(特别是其中的c语言编译器)也常被认为是跨平台编译器的事实标准。

GCC原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。

GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、 Objective-C、Java,以及Ada与其他语言。

软件截图1

【使用方法】

解压缩

拷贝gcc-4.1.2.tar.bz2(我下载的压缩文件)到/usr/local/src(根据自己喜好选择)下,根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):

% tar zxvf gcc-4.1.2.tar.gz

或者

% bzcat gcc-4.1.2.tar.bz2 | tar xvf -

新生成的gcc-4.1.2这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。

在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。

建立目标目录

目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。

例如,可以这样建立一个叫 /usr/local/gcc-4.1.2的目标目录:

% mkdir /usr/local/gcc-4.1.2

% cd gcc-4.1.2

以下的操作主要是在目标目录 ${objdir} 下进行。

配置

配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。

配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):

% ${srcdir}/configure --prefix=${destdir} [其它选项]

例如,如果想将GCC 4.1.2安装到/usr/local/gcc-4.1.2目录下,则${destdir}就表示这个路径。

在我的机器上,我是这样配置的:

% ../gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java

将GCC安装在/usr/local/gcc-4.1.2目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。

编译

% make

安装

执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):

% make install

至此,GCC 4.1.2安装过程就完成了。

其它设置

GCC 4.1.2的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。

gcc、g++、gcj的设置

要想使用GCC 4.1.2的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。

首先,查看原来的gcc所在的路径:

% which gcc

在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 4.1.2中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:

% cd /usr/bin

% ln -s ${destdir}/bin/gcc gcc412

% ln -s ${destdir}/bin/g++ g++412

% ln -s ${destdir}/bin/gcj gcj412

这样,就可以分别使用gcc412、g++412、gcj412来调用GCC 4.1.2的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。

库路径的设置

将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,例如,如果GCC 4.1.2安装在/usr/local/gcc-4.1.2目录下,在RH Linux下可以直接在命令行上执行

% export LD_LIBRARY_PATH=/usr/local/gcc-4.1.2/lib

最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了,在文件$HOME/.bash_profile中添加下面两句:

LD_LIBRARY_PATH=/usr/local/gcc-4.1.2/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

重启系统设置生效,或者执行命令

% source $HOME/.bash_profile

测试

用新的编译命令(gcc412、g++412等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作

linux gnu编译器下载,GNU Compiler Collection(gcc编译器)下载_GNU Compiler Collection(gcc编译器)官方下载-太平洋下载中心...相关推荐

  1. amd r5 m330 linux驱动下载,AMDAMD Radeon(TM) R5 M330 14.502.1014.0000显卡驱动官方正式版下载,适用于win8.1-64-驱动精灵...

    驱动说明: 自从去年底的催化剂14.12 Omega驱动之后,AMD在2015年还没有发一款新驱动,虽然AMD早就说过催化剂驱动不再定期更新,不过这一次的间隔也实在够长的,三个月时间连beta驱动都没 ...

  2. skinme找不到java_我的世界skinme皮肤下载|我的世界skinme模组安装器v1.2.1 官方版 - 极光下载站...

    我的世界skinme模组安装器是skinme皮肤站提供的skinme皮肤安装器.skinme模组安装器功能比较强大实用,skinme模组安装器集合了海里的我的世界皮肤,让MC玩家一键换肤,而且可以让其 ...

  3. linux系统下载编译器,linux gcc编译器下载 GNU Compiler Collection(gcc编译器) v4.7.0 for linux版 下载-脚本之家...

    GNU Compiler Collection是一款linux版的gcc编译器软件.GNU Compiler Collection是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部 ...

  4. 编译器:GNU工具链GCC编译器的编译方法和编译步骤

    https://www.runoob.com/w3cnote/working-process-of-the-compiler.html https://www.runoob.com/w3cnote/g ...

  5. 【评论】GNU/Linux下有多少是GNU的?

    导读:一个葡萄牙的学生写了一篇文章 <How much GNU is there in GNU/Linux?>由酷壳网的陈皓整理编译为<GNU/Linux下有多少是GNU的>. ...

  6. GNU/Linux下有多少是GNU的?

    导读:一个葡萄牙的学生写了一篇文章 <How much GNU is there in GNU/Linux?>由酷壳网的陈皓整理编译为<GNU/Linux下有多少是GNU的>. ...

  7. debian gnu linux8,Debian GNU/Linux 9.3 Stretch 和8.10 Jessie正式发布

    Debian项目今天宣布推出了Debian GNU/Linux 9.3 "Stretch"和Debian GNU/Linux 8.10 "Jessie"版本系列 ...

  8. gnu parallel_使用GNU Parallel在Linux命令行上完成更多工作

    gnu parallel 您是否曾经获得过一种有趣的感觉,那就是您的计算机并没有达到应有的速度? 我曾经有这种感觉,然后我找到了GNU Parallel. GNU Parallel是用于并行执行作业的 ...

  9. linux arm 汇编学习,如何在LINUX平台上学习GNU ARM汇编

    本例说明如何在LINUX平台上学习GNU ARM汇编. 1.软件环境 vmware 5.0 + redhat 9.0 + skyeye 1.2.4 + arm-elf 工具 2. 源文件 a.s -- ...

  10. 【Linux】Linux系统编程(入门与系统编程)(二)(vim、gcc、gdb、Makefile、yum、git等工具的了解与使用)

    本文重点 学习yum工具,进行软件安装 掌握vim编辑器使用,学会vim的简单配置 掌握gcc/g++编译器的使用,并了解其过程,原理 掌握简单gdb使用于调试 掌握简单的Makefile编写 了解其 ...

最新文章

  1. 实现BUG自动检测 - ASP.NET Core依赖注入
  2. Java代码块回调,QueueEvent - 队列化执行线程和代码块
  3. html留言板 php,linux下使用Apache+php实现留言板功能的网站
  4. 获取列表中包含的元素数 在C#中
  5. PHP中对数组进行分页处理的原理及分页实例
  6. 格力手机没有放弃!将跟上5G和柔性屏的大势
  7. 在Windows XP中轻松发传真
  8. java 数字的进制转换
  9. 【原】基于matlab的蓝色车牌定位与识别---绪论
  10. 基于tcp实现远程执行命令
  11. 菜鸟升级记——模板方法模式
  12. Exchange2010安装指南
  13. Origin无法修改语言为灰色
  14. 某些app无法抓包问题
  15. 第一回 网管是个苦差事
  16. C1-01基础任务和知识拓展
  17. 杂谈:火星救援和未来城市
  18. Python基础入门教程:Day21-30/Web前端概述
  19. 嵌入式掌纹掌脉识别门禁控制系统的设计与实现
  20. 语音转文字—文字转语音—科大讯飞SDK——LabVIEW实现

热门文章

  1. sklearn——加载数据集
  2. 2021最新银行卡bin码
  3. 【正点原子MP157连载】 第二十四章 DAC实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
  4. linux安装 treenms
  5. 【UVM源码】uvm_event
  6. 前端项目(1)--《学成在线》简单首页
  7. android 刷机时缺少驱动无法识别
  8. Chromium+depot_tools
  9. 用于PDF文件转曲,方法介绍
  10. JAVA与js加密解密我常用的方法