• 技术分享| gcc版本升级到5.2


    一、介绍

    GCC(GNU Compiler Collection)是一套广泛使用的开源编译器集合,用于编译多种编程语言,包括C、C++、Objective-C、Fortran等。GCC 的不同版本提供了许多新功能、改进和修复,其中包括从 GCC 4.8.5 升级到 GCC 5.2.0 所带来的一些变化。

    GCC 5.2.0 是 GCC 5 系列的一个版本,相对于 GCC 4.8.5,它引入了一些重要的改进和功能。以下是一些可能的变化和改进:

    1. C++14 支持:GCC 5.2.0 开始增加对 C++14 标准的支持。这意味着可以使用 C++14 中引入的新特性和语法,如泛型 Lambda 表达式、二进制字面量、变长模板参数包等。
    2. 新的优化和性能改进:GCC 5.2.0 引入了一些新的优化技术和性能改进,可以提高生成的代码的执行效率。这些改进可能包括新的优化策略、针对特定处理器架构的优化、更好的内存管理等。
    3. C11 支持:GCC 5.2.0 开始增加对 C11 标准的支持。C11 是 C 语言的一个新版本,引入了一些新的特性和改进,如线程支持、原子操作、泛型选择表达式等。
    4. 代码质量和警告改进:GCC 5.2.0 可能会引入一些新的代码质量改进和警告机制,帮助开发人员发现潜在的问题和错误。这些改进可能包括更准确的警告、新的代码分析技术等。
    5. 新的语言扩展和特性:GCC 5.2.0 可能引入一些新的语言扩展和特性,以提供更丰富的编程功能和选项。这些扩展可能针对特定的编程语言,如 C、C++、Fortran 等。

    二、环境准备

    当前版本:gcc version 4.8.5 (GCC)

    升级版本:gcc version 5.2.0 (GCC)

    ## 下载源码包
    [root@localhost ~]# yum -y install bzip2 gcc* gdb wget 
    [root@localhost ~]# wget http://mirrors.concertpass.com/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2
    
    ## 无网情况下手动下载上传到服务器
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三、安装依赖

    ## 解压 
    [root@localhost ~]# tar -jxvf gcc-5.2.0.tar.bz2
    [root@localhost ~]# cd gcc-5.2.0
    
    ## 安装依赖
    [root@localhost gcc-5.2.0]# ./contrib/download_prerequisites
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    无网情况下

    1、手动下载download_prerequisites包含的依赖包到gcc-5.2.0目录下

    2、修改download_prerequisites文件,把wget相关的注释掉,在执行./contrib/download_prerequisites

    四、编译安装

    1、配置相关参数

    [root@localhost gcc-5.2.0]# mkdir gcc-build-5.2.0
    [root@localhost gcc-build-5.2.0]# cd gcc-build-5.2.0
    [root@localhost gcc-build-5.2.0]# ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
    
    • 1
    • 2
    • 3

    2、开始编译,如果是多核服务器最好加上 -j4参数,4代表安装的服务器cpu核数,这里时间较长耐心等待

    [root@localhost gcc-build-5.2.0]# make -j4
    
    • 1

    3、开始安装

    [root@localhost gcc-build-5.2.0]# make install
    
    • 1

    默认库文件存放位置:/usr/local/lib64

    默认bin文件存放位置: /usr/local/bin

    4、查看最新版本的gcc,如果版本是5.2.0那么就安装成功了,如果没有成功此时可以看下g++ -v ,可以看到已经是5.2.0了

    [root@localhost gcc-build-5.2.0]# gcc -v
    [root@localhost gcc-build-5.2.0]# g++ -v
    
    • 1
    • 2

    如果发现gcc还是老版本,g++是新版本,那么需要重启服务器

    [root@localhost gcc-build-5.2.0]# reboot
    
    • 1

    5、再次查看gcc版本

    [root@localhost ~]# gcc -v
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.2.0/lto-wrapper
    Target: x86_64-unknown-linux-gnu
    Configured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
    Thread model: posix
    gcc version 5.2.0 (GCC)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

  • 相关阅读:
    “机器学习”名字的由来
    孤僻型性格分析,如何改变孤僻型性格?
    如何确定Apache Kafka的大小和规模
    SQL排序函数详解+案例实战
    STM32CubeMX教程13 ADC - 单通道转换
    Codeforces Round #822 (Div. 2) C. Removing Smallest Multiples
    单链表的插入删除
    MySQL(五) 数据恢复
    2023.11.18 -自用hadoop高可用环境搭建命令
    视频评论挖掘软件|抖音视频下载工具
  • 原文地址:https://blog.csdn.net/anyRTC/article/details/134549494