GCC的源码安装和一些安装参数的解析(32位系统)

由于家里的一台老电脑不支持64位,所以只能安装32位的系统,因为32位系统的GCC很久都没有更新了,这就引出了今天的问题,源码自行编译安装GCC

第一步:下载源码

这里我们选择清华大学开源镜像站,我是直接下载的最新GCC 的源码,所以直接执行

cd /home
wget -c -t 0 -O GCC.tar.xz https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.xz

这里我下载的是xz的源码,xz的源码相对于gz的源码压缩率更高,但要使用xz来进行解压,如果系统没有xz的要先安装一个xz

sudo yum install -y xz

wget后面的参数
-c表示支持短点续传,这个功能需要服务器支持,当然,现在大部分服务器都是支持的
-t表示传输出错重试的次数,后面空一格加0表示出错以后无限次重试,默认不加这个是重试20次

第二步:解压源码

因为是xz文件,就不能直接用tar来解压了,但xz的本质还是两层压缩包,外面一层xz,里面一层tar

cd /home
xz -d GCC.tar.xz
tar -xf GCC.tar

在用xz解压的时候如果要保留被压缩的文件,需要加上参数-k,这里xz只是一个临时文件,就不保存了

第三步:下载编译所需要的依赖包

有网络直接运行下列脚本

cd gcc-9.3.0
./contrib/download_prerequisites

运行成功的返回结果是:successfully
如果网络不行往往容易失败,文件不大,一共就三个文件,网好的话下载还是很快的

第四步:生成Makefile

先建立编译目录

mkdir gcc-build-9.3.0
cd gcc-build-9.3.0                              
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib  
生成参数说明:

–enable-checking=release 对代码进行一致性检查会导致编译的时间增加,仅支持gcc编译器。总的来说如果不想等待太久,可以设置为 disable,但是这会增加产生未预期的错误的风险,所以建议开启。如果想让编译快点完成,可以同时设置 --disable-bootstrap 与 --disable-checking
–enable-languages=c,c++ 支持的高级语言类型和运行时库,可以设置的所有语言包括 ada,c,c++,Fortran,java,objc,obj-c++,GO 等语言。这里只开启了c和c++,因为支持的语言越多,就需要安装越多的相应静态与动态库,还有五花八门的依赖库,这会让管理变得困难,体积也会变得庞大。
–disable-multilib :生成多个系统版本的代码,如果你的操作系统是32位,默认就已经设置为 disable,这时gcc仅能生成32位的可执行程序;如果你的操作系统是64位,默认就是 enable,可以通过 -m32 选项来决定是否生成32位机器代码。如果在64位系统上,要禁止生成32位代码, 设置 --disable-multilib即可。

后面的参数仅供补充,在这里我们没有实际应用

–prefix=/usr/local/ 指定安装路径,这里没有指定,就直接放到文件夹里就好
–enable-bootstrap 这个百度了一下,就是多次编译然后对比,看它们有没有什么不同,在非交叉编译的环境下,默认已经将该值设为 enable,可以不用特地指定;交叉编译环境下,需要把这个值设为 disable。
–enable-threads=posix 顾名思义,启用posix标准的线程支持,这个设置取决于宿主或目标操作系统的类型,其它可用值有:aix,dec,solaris,win32等,如果你是其它的类UNIX系统,就需要设置相应的值。
–enable-gather-detailed-mem-stats 允许收集详细的内存使用信息,如果设置该参数为 enable,则将来编译好的gcc可执行程序,可以通过 -fmem-report 选项来输出编译其它程序时的实时内存使用情况。
–with-long-double-128 指定 long double 类型为128位(16字节!);设置为 without,则 long double类型将为64位(8字节),这将与普通的 double 类型一样。 基于 Glib 2.4以上版本编译时,默认已经是128位。

最终结果:creatingMakefile

第五步:编译

make -j4

后面的j4意思是使用四颗核心进行编译,这个要根据自己电脑的配置来改,一般我们把这个设置为已有核心数的两倍,比如单核cpu设置为j2,以此类推
然后就是满屏幕滚动的代码

第六步:安装和验证

这是最后一步,用不了多久

sudo make install
sync
sync
reboot
gcc -v

安装以后记得重启电脑,重启以后如果返回版本号是你编译的那个版本就说明安装成功

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值