GNU Compiler Collection简称GCC编译器,基于Linux系统推出的一款功能强大的编译器,主要用于编译C, C++, Objective-C, Fortran, Java等语言,小编还为大家带来了详细的使用方法,需要的朋友不要错过哦!

gcc for linux使用方法

解压缩

拷贝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系统下载编译器,gcc for linux|GNU Compiler Collection(gcc编译器)下载v4.9.1 linux版 - 欧普软件下载...相关推荐

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

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

  2. linux编译器下载地址,GNU Compiler Collection(gcc编译器) v4.9.1 linux版

    授权方式:免费软件 软件类型:国产软件 软件语言:简体中文 软件大小:85.5 MB 推荐星级: 软件厂商:Home Page 更新时间:2019-03-28 16:36 网友评论:0  条 运行环境 ...

  3. mysql在c盘导入txt_TxtToMy|txt导入myql数据库工具(TxtToMy)下载v3.5官方版 - 欧普软件下载...

    TxtToMy是一个简单实用的可以将txt文件导入到mysql数据库的工具,支持向导和命令行两种操作方式,支持sql查询语句,能帮助用户把txt和csv中的数据导入到Msql数据库的表中,满足不同习惯 ...

  4. java ide下载_jGRASP|轻量级Java IDE(jGRASP)下载v2.0.4.03官方版 - 欧普软件下载

    jGRASP是一套开放源码集成开发环境,除支持Java外,也能够支援Ada.VHDL.C.C++,包括数据结构的对象标识符,如栈,队列.链表.二叉树等.可以满足语言开发者的基本的开发需求.需要的朋友赶 ...

  5. 2016学c语言用的软件下载,|C/C++程序设计学习与实验系统下载c2016版 - 欧普软件下载...

    C/C++程序设计学习与实验系统是为学习C语言和C++朋友推出的一款实验系统,包含入门指导.典型案列.函数算法.编程建议.学习经验等干货,还有常见错误信息解决方案,新增试题解析.自动评分,有需要的朋友 ...

  6. |ViaVoice(IBM语音识别输入系统)下载v9.1官方版 - 欧普软件下载

    ViaVoice是一款专业的IBM语音识别输入系统,拥有先进的语音识别技术,完整的语音数据库,可以快速识别语音内容,输入速度甚至可以达到150字/秒,正确率高达95%以上,自带常用命令集,可满足对电脑 ...

  7. 排球计分系统java_排球计分系统|网世技术排球计分系统下载v1.0官方版 - 欧普软件下载...

    排球计分系统是一款免费的排球比赛计分软件,采用五局三胜制,可以准确的记录双方的得分情况,包括犯规.球员信息.全队得分等信息,支持多种设备输出,是日常排球比赛计分的好工具,有需要的朋友可以来本站下载! ...

  8. c语言系统测试工具,c语言测试工具|雨田单元测试系统下载v2.2.2 官方版 - 欧普软件下载...

    雨田单元测试系统是一款适用于C语言文件的单元测试和集成测试系统,雨田单元测试系统可以进行进行黑盒和白盒测试,适合程序猿们测试单元使用. 功能介绍 雨田单元测试系统V1.0可以针对c语言程序文件进行单元 ...

  9. php 启动管理工具下载,phpPgAdmin|PostgreSQL管理工具(phpPgAdmin)下载v5.0.4 开源版 - 欧普软件下载...

    phpPgAdmin是一款功能强大的PostgreSQL数据库管理工具,可以对数据库进行多种操作,适用于PostgreSQL多种版本,新版本修复了bug,兼容性和代码清理功能得到了很大的改进,有需要的 ...

最新文章

  1. 项目中常用的git指令
  2. WEB测试 test case测试点
  3. NLP深度学习:近期趋势概述(一)
  4. mybatis 注解 占位符
  5. HTML CSS——层叠
  6. 基于FPGA的循迹小车,控制器:Xilinx-Ego1
  7. ctf:xls加密_加密:爱丽丝和鲍勃的故事
  8. maven docker 部署到多台机器上。。_TensorFlow Serving + Docker + Tornado机器学习模型生产级快速部署
  9. 利用frps进行内网穿透
  10. ipcam 网络摄像机介绍
  11. 图片太大加载不出来的解决方法
  12. APUE编程:83---信号处理(SIGABRT信号与abort函数)
  13. 网易音乐人2021年度盘点上线 揭晓2021年华语原创音乐年度记忆
  14. 硕士研究生论文查重率多少合格?
  15. 在word中插入excel文件
  16. 门禁系统 你了解多少?
  17. 对Habit Browser浏览器网页翻译问题的凑合解决方法
  18. 深入浅出推荐系统(二):召回:内容为王
  19. apk自动升级,高于android N自动安装不弹框的问题解决
  20. 8 PyQt5 QTabWidget

热门文章

  1. Unity编辑器拓展(一)-MenuItem的使用
  2. 网络基本功:IP与子网划分
  3. 计算机毕业论文java毕业设计选题源代码ssm的校园单车自行车租赁系统|租车系统
  4. IDEA Cannot resolve method ‘xxx‘问题解决
  5. 深度linux安装安卓软件,Ubuntu 用户安装深度软件中心教程
  6. java基础Review One
  7. 1139公里的探寻(一)
  8. 千百年教育资源分布不均的问题,好未来、乂学教育等AI+教育项目能向前推动多少?
  9. html5 网页课程设计(二)
  10. 999朵玫瑰c语言,易语言送你999朵玫瑰花源码