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

news/2024/7/10 19:51:28 标签: 开源, 编译器, GCC, C, C++

一、介绍

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

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

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

二、环境准备

当前版本:gcc version 4.8.5 (CC.html" title=GCC>GCC)

升级版本:gcc version 5.2.0 (CC.html" title=GCC>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

## 无网情况下手动下载上传到服务器

三、安装依赖

## 解压 
[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、手动下载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

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

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

3、开始安装

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

默认库文件存放位置:/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

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

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

5、再次查看gcc版本

[root@localhost ~]# gcc -v
Using built-in specs.
COLLECT_CC.html" title=GCC>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 (CC.html" title=GCC>GCC)

在这里插入图片描述


http://www.niftyadmin.cn/n/5205458.html

相关文章

安防监控视频融合平台EasyCVR定制化页面开发

安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索…

系统架构设计:13 论基于构件的软件开发

论基于构件的软件开发 软件系统的复杂性不断增长、软件人员的频繁流动和软件行业的激烈竟争迫使软件企业提高软件质量、积累和固化知识财富,并尽可能地缩短软件产品的开发周期。 集软件复用、分布式对象计算、企业级应用开发等技术为一体的“基于构件的软件开发”应运而生,…

使用SpringBoot集成MyBatis对管理员的查询操作

增删改查中的查询操作,对所有的普通管理员进行查询操作。 效果展示: 不仅可以在打开页面时进行对管理员的自动查询操作,还可以在输入框进行查询。 首先是前端向后端发送POST请求,后端接收到请求,如果是有参数传到后端…

PCIE链路训练-状态跳转1

A:12ms超时,或者再任何lane上检测到Electrical Idle Exit; B: 1.发送“receiver detection”之后没有一个lane的接收逻辑被rx检测到 2.不满足条件c,比如两次detection出现差别; C:发送端在没…

【AI读论文】AutoML的8年回顾:分类、综述与趋势

论文标题:Eight years of AutoML: categorisation, review and trends 论文链接:https://link.springer.com/article/10.1007/s10115-023-01935-1 本文主要围绕自动机器学习(AutoML)展开了系统性的文献综述,总结了该领…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(七)

分页查询、删除和修改菜品 1. 菜品分页查询1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计 1.2 代码开发1.2.1 设计DTO类1.2.2 设计VO类1.2.3 Controller层1.2.4 Service层接口1.2.5 Service层实现类1.2.6 Mapper层 1.3 功能测试1.3.2 前后端联调测试 2. 删除菜品2.1 需求分析…

OSG 实现点选

在使用 OpenSceneGraph(OSG)中,要在 OBJ 模型表面进行点选(Picking),你可以通过以下步骤完成: 创建选择器(Picker): 使用 OSG 的选择器工具可以实现对场景中对…

振南技术干货集:制冷设备大型IoT监测项目研发纪实(1)

注解目录 1.制冷设备的监测迫在眉睫 1.1 冷食的利润贡献 1.2 冷设监测系统的困难 (制冷设备对于便利店为何如何重要?了解一下你所不知道的便利店和新零售行业。关于电力线载波通信的论战。) 2、电路设计 2.1 防护电路 2.1.1 强电防护 …