GCC

gcc(GNU编译器套件)

开放、自由和灵活是Linux的魅力所在,而这一点在gcc上的体现就是程序员通过它能够更好地控制整个编译过程。
在使用gcc编译程序时,编译过程可以细分为4个阶段:

  • 预处理(Pre-Processing)
  • 编译(Compiling)
  • 汇编(Assembling)
  • 链接(Linking)

Linux程序员可以根据自己的需要让gcc在编译的任何阶段结束,检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为今后的调试做好准备。与其他常用的编译器一样,gcc也提供了灵活而强大的代码优化功能,利用它可以生成执行效率更高的代码。

gcc提供了30多条警告信息和3个警告级别,使用它们有助于增强程序的稳定性和可移植性。此外,gcc还对标准的C和C++语言进行了大量的扩展,提高了程序的执行效率,有助于编译器进行代码优化,能够减轻编程的工作量。

安装GCC

下载GCC源码

1.下载网址:http://ftp.gnu.org

wget http://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz

2.解压文件:

tar -zxvf gcc-8.3.0.tar.gz

3.下载编译所需要的依赖项

cd gcc-8.3.0
./contrib/download_prerequisites

gcc需要的依赖包:
gmp=‘gmp-6.1.0.tar.bz2’
mpfr=‘mpfr-3.1.4.tar.bz2’
mpc=‘mpc-1.0.3.tar.gz’
isl=‘isl-0.18.tar.bz2’

依赖包下载网址:
base_url=‘ftp://gcc.gnu.org/pub/gcc/infrastructure/

各依赖包下载完后会在gcc-8.3.0.tar.gz解压后的目录下,若gcc-8.3.0.tar.gz解压后的目录下不存在某个依赖包,可以自行在 ftp://gcc.gnu.org/pub/gcc/infrastructure/ 中下载所需依赖包,列如(在gcc-8.3.0.tar.gz解压后的目录执行):

wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2

解压依赖包:

tar -jxvf gmp-6.1.0.tar.bz2
tar -jxvf mpfr-3.1.4.tar.bz2
tar -zxvf mpc-1.0.3.tar.gz
tar -jxvf isl-0.18.tar.bz2

安装依赖包gmp
进入gmp-6.1.0.tar.bz2解压目录后gmp-6.1.0

./configure --prefix=/usr/local/gmp-6.1.0
make
make check
make install

安装依赖包mpfr
进入mpfr-3.1.4.tar.bz2解压目录后mpfr-3.1.4

./configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0
make
make check
make install

安装依赖包mpc
进入mpc-1.0.3.tar.gz解压目录后mpc-1.0.3

./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0  --with-mpfr=/usr/local/mpfr-3.1.4
make
make check
make install

安装依赖包isl
进入isl-0.18.tar.bz2解压目录后isl-0.18

./configure --prefix=/usr/local/isl-0.18 --with-gmp-prefix=/usr/local/gmp-6.1.0 
make
make check
make install

解压gmp时出错

tar (child): bzip2: Cannot exec: No such file or directory 
tar (child): Error is not recoverable: exiting now 
tar: Child returned status 2 
tar: Error is not recoverable: exiting now

解决方法很简单,只要安装bzip2就行了,yum安装的命令如下:

yum -y install bzip2

安装GCC
gcc-8.3.0.tar.gz解压后的目录

./configure --prefix=/usr/local/gcc/8.3.0 --enable-threads=posix --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp-6.1.0 --whit-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3
make
make install

make过程时间比较长,需耐心等待,等待了一晚上

配置GCC

vi /etc/profile
export PATH=/usr/local/gcc/8.3.0:$PATH
source /etc/profile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值