首页 > 系统相关 >研究C++20语法----在ubuntu中安装gcc13和g++13

研究C++20语法----在ubuntu中安装gcc13和g++13

时间:2024-08-12 12:51:50浏览次数:17  
标签:gcc13 13 20 ppa ---- ubuntu 安装 wy

前言

  • 由于要学习一点C++20的知识点,故需要安装gcc13和g++13
  • Ubuntu默认不能直接下载gcc13和g++13,但是只有g++13和gcc13支持C++20的语法,故想要学习C++20,就必须借助第三方工具下载。
  • 默认安装目录:/usr/bin
  • 本机安装环境:ubuntu22.4

文章目录

1、安装build_essential

sudo apt install build-essential

2、添加ppa源

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

3、安装gcc13/g++13

sudo apt install gcc-13
sudo apt install g++-13

4、编译实践

  • 在vim中写入简单程序
#include <iostream>
#include <format>  // c++20新特性,用来取代 sprintf

int main()
{
    std::string str = std::format("{} {}\n", "Hello", "World!");
    std::cout << str << std::endl;
    return 0;
}

  • 编译运行,输出结果如下:

    wy@wy:~/mulithread/2$ vim text.cpp
    wy@wy:~/mulithread/2$ g++-13 -std=c++20 text.cpp
    wy@wy:~/mulithread/2$ ./a.out
    Hello World!   
    
  • 输出Hello world!则说明安装成功了

  • 还可以通过路径检查:

  • cd /usr/bin  # 在该目录下找 gcc-13 和 g++-13
    

安装慢的解决方法

ppa地址在国外,下载会很慢,故可以换成国内的源。

# 1、打开 /etc/apt/sources.list.d
cd  /etc/apt/sources.list.d

# 2、打开编辑
vim graphics-drivers-ubuntu-ppa-jammy.list

# 3、用vim打开后,注释原来的,换成国内源
# 注释:
# deb https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu/ jammy main
# 添加下面这条语句:
deb https://launchpad.proxy.ustclug.org/ubuntu-toolchain-r/test/ubuntu/ jammy main
#注释:
# deb-src https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu/ jammy main

# 4、按 :wq  保存退出

注意:需要在root用户下操作才能成功

标签:gcc13,13,20,ppa,----,ubuntu,安装,wy
From: https://blog.csdn.net/weixin_74085818/article/details/141128583

相关文章

  • NetCDF 文件批量转栅格并导出栅格各波段
    两年前,我曾发布过一篇名为《导出NetCDF栅格图层的各个波段》的公众号推文,讲述了通过网络中的ArcGIS工具将单个NetCDF文件的各个波段分别导出为tif文件的方法。该工具提供了arcpy源代码,我们以该代码为基础,将其转换为ArcGISPro环境下的Python3代码,并使程序可对多个文......
  • 降本30%,酷家乐海量数据冷热分离设计与实践
    降本30%,酷家乐海量数据冷热分离设计与实践发布于 2023-03-2914:22:257520举报文章被收录于专栏:深度学习与python作者|王小波编辑|李忠良降本增效一直是研发团队追求的目标之一,面对不断上涨的数据量,研发侧开始思考如何在不降低用户体验的......
  • 亿级大表冷热分级的工程实践
    亿级大表冷热分级的工程实践原创修改于 2024-02-0609:49:502.2K7举报文章被收录于专栏:后台技术汇1、前言1.1方案背景成熟的业务系统都会配套一个重要的旁路系统--操作日志,它用于监控和记录核心业务系统的操作,以确保系统的稳定性和安全性。操作日......
  • SciTech-Mathematics-Probability+Statistics-7 Steps to Mastering Statistics for D
    7StepstoMasteringStatisticsforDataScienceBYBALAPRIYACPOSTEDONJULY19,2024Astrongfoundationinstatisticsisessentialifyou’relookingtobecomeaskilleddatascientist.Fromanalyzingtrendsindatatobuildingpredictivemodelsandma......
  • koa2实现网站csrf防御
    koa2实现网站csrf防御发布于 2023-01-1120:53:411.1K0举报文章被收录于专栏:前端心念什么是csrf攻击? csrf/xsrf又叫跨站请求伪造。先说常见的登陆鉴权:用户在你的网站登陆后,一般把登陆凭证(token)存储在cookie里,之后每次调接口都会自动携带,后端根据......
  • 亿级大表垂直拆分:上云业务的工程实践
    亿级大表垂直拆分:上云业务的工程实践原创修改于 2023-10-1410:59:096810举报文章被收录于专栏:后台技术汇1、前言伴随着不断扩张的业务量,在数据库层面一般会经历数据拆分。解决问题的第一步,就是重新评估DB表结构设计的合理性。2、大表问题......
  • Kubernetes-二进制高可用部署v1.23.x
    目录高可用架构k8s集群组件ectdkube-apiserverkube-schedulerkube-controller-managerkubeletkube-proxykubectl高可用分析负载均衡节点设计1.环境准备1.1环境规划1.2所有节点配置host解析1.3安装必备工具1.4所有节点关闭防火墙、selinux、dnsmasq、swap1.5Master01节点免密......
  • CF Math Train Collection
    发现我们队好像在一些观察和数学相关的方面稍差,然后我们队看起来数据结构以及一些比较典的题目都不太需要我,所以题目一旦不和胃口,就会瞬间爆爆。所以决定,加训加训加训加训加训加训!板刷加训一下CF带math/binom/probabilities的标签,顺便自己也挺喜欢数学的,当作课后放松之类,锻炼......
  • react-navigation使用redux-saga等处理各种跳转、清除堆栈、返回不同页面的问题
    react-navigation使用redux-saga等处理各种跳转、清除堆栈、返回不同页面的问题名字还是土一点好关注IP属地:上海0.272018.01.2114:26:36字数154阅读4,027一直没有找到有关于 react-navigation 处理app各种不同状态需要默认不同首页的例子,于是只能自己写了。整个......
  • shardingsphere5分表demo
    分表配置demodatabaseName:mydb#逻辑数据库名称dataSources:ds_0:url:jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=falseusername:rootpassword:rootconnectionTimeoutMilliseconds:30000idleTimeoutMil......