在 windows 端使用 vscode + ubuntu WSL 优雅的使用原生 linux 的 gcc/g++ 编译

news2024/9/20 1:04:54

当我在windows上进行c++的开发时,通常会使用 vs 但缺点也比较明显,他不原生的 gcc 编译器,其次 vs 这个 IDE 太过于庞大,当然也有很多人会使用 vscode 但是,在 windows 中安装 gcc/g++ 的过程极为复杂,且因为我们在内陆下载 gcc/g++ 的windows移植版也比较慢,所以我便有了使用 Ubuntu WSL + vscode 进行c++开发的想法。

一 、 vscode

在这里有两个必装的插件

1. C++

就是这个,这个其实不安也可以,但安了肯定更好

2. WSL

这个是非常重要的插件,必须要安装!

二、Ubuntu WSL

1. 安装

这个我就不多说了,此次教程的重点不在这大家可以参考微软官方的文档:

安装 WSL | Microsoft Learn

或是这个知乎上的教程:在 Windows 11 上安装 Ubuntu 20.04 WSL - 知乎 (zhihu.com)

我本人安装时看的是那个知乎的教程,没有试过官方的

2. 换源

这个我在之前的文章已经写过了,具体请看:

ubuntu全版本通用换源教程 - 玄予博客

3. 安装 gcc/g++

我的这篇文章中有在 ubutnu 中安装 gcc/g++ 的教程:

Linux下编译工具:gcc/g++ の最全使用教程 - 玄予博客

最终效果如图:

三、在 VScode 中使用 gcc/g++

打开 VScode

1. 在VScode 链接 WSL

点击左下角的蓝色箭头

点击 connect to WSL

第一次连接需要初始化,亲耐心等待

出现这个后说明连接成功

2. 使用 gcc/g++ 进行编译

随便打开个文件:

值得一提的是 WSL 中连接 windows 磁盘的是在 /mnt 目录

在这里就可以看到我们电脑里的磁盘了,剩下的文件路径就和 windows 中一模一样了

这里我随便打开个 .cpp 文件

按 Ctrl + ` 打开命令行

cd 到当前目录后就可以使用 gcc/g++ 进行编译啦!

有关 gcc/g++ 的使用可以看我的这篇文章:

Linux下编译工具:gcc/g++ の最全使用教程 - 玄予博客


文章至此就结束了,如果文章有问题,或者是有疑问,也都欢迎在评论区或论坛指出或提出!

作者:玄予(xuanyu)

最后更新:2023年5月2日

链接:在 windows 端使用 vscode + ubuntu WSL 优雅的使用原生 linux 的 gcc/g++ 编译_玄予的博客-CSDN博客

本文首发至 CSDN 活动结束后方可转载!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/481960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】右值引用完美转发

文章目录 右值引用和左值引用左值和右值概念左值引用 && 右值引用右值引用使用场景和意义左值引用的使用场景**左值引用的短板:**右值引用和移动语义STL容器增加的接口move函数右值引用的其他使用场景 完美转发万能引用完美转发保持值的属性完美转发的使用场景 右值引用…

Python基础合集 练习16(函数的递归)

简单的递归 1.求阶乘 比如输入为3 那么3216 输出就为6 def fun(n): if n1: return 1 return n*fun(n-1) numint(input(‘输入数字:’)) print(‘该数的阶乘为:’,fun(num)) 2.数列 这个数从第三项开始每一项为前一项的两倍 假如输入为6 则[1,1,2,3,5,8] 第六位为…

Python 时间处理模块

import time # 导入时间模块 s_time time.time() # 程序开始的时间 time.sleep(3) # 慢三秒 print(f’cost{time.time()-s_time}’) # 用当前时间减去之前程序开始的时间 print(time.localtime()) # 打印当前的时间 时间对象 print(time.gmtime()) # 打印当前时间&#xff0…

Python基础合集 练习18(类与对象2)

访问限制 class Dog_dog(): def init(self, name) -> None: self.__name name # 定义私有属性 def run(self):print(我跑的很快!我的名字是, self.__name)dog1 Dog_dog(‘papi’) dog1.run() print(dog1._Dog_dog__name) # 加入类名访问 print(’-----分界线-----’) p…

Mix.AI.How is your Chirper?

Chirper.ai是什么? 一个名为Chirper的AI驱动的社交网络平台。Chirper为AI用户建立了一个独立的环境,与传统的人类社交媒体平台有所区别。是一个独特的交互和协作空间,只有AI可以进行交流和互动。 shadow 看看我的AI化身每天都在干什么&#x…

Python---多线程编程、基于Socket完成服务端程序开发、基于Socket完成客户端程序开发

1. 进程: 程序在操作系统内运行,即成为一个运行进程 线程: 进程内部可以有多个线程,程序的运行本质上就是由进程内部的线程在实际工作的。 并行执行: 多个进程同时在运行,即不同的程序同时运行&#xff…

【Floyd】CF1204 Anna, Svyatoslav and Maps

看错题意了一直看不懂题解浪费了好多时间... 思路: 先去考虑特殊的地方: 100 子序列 最短路径 一个个剖析: 100:考虑Floyd 子序列:DP?不懂 最短路径:考虑Floyd 我们要求的是子序列的方案&#xff0…

【MySQL 8.0】搭建一个使用 SSL 加密的 MySQL 主从复制拓扑(基于 Binlog 行复制)

文章目录 先决条件搭建配置源、副本服务器选项文件 验证启用了 SSL 连接创建复制用户获取复制源服务器的二进制日志坐标配置复制源开启复制 验证进阶 之前,我们一起搭建了一个极简 MySQL 主从复制拓扑(基于 Binlog 行复制),这是一…

请问这个网址怎么用httpx 把json数据取出来

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 空山新雨后,天气晚来秋。 大家好,我是皮皮。 一、前言 前几天在Python铂金群【gyx】问了一个Python网络爬虫处理的问题&#xf…

【JavaEE】认识线程

目录 1、什么是线程 2、为什么引入线程 2.1、线程的优缺点 3、CPU的工作原理 4、线程和进程的关系 4.1、线程和进程的入口函数 4.2、线程独享的资源 1、什么是线程 一个进程中可以有一个或者多个线程,每个线程都是一个独立的执行流。多个线程之间,也…

嵌入式开发--无刷电机学习3--帕克变换

帕克变换的物理意义 前面说到克拉克变换的物理意义,是将三相定子线圈产生磁场的过程,等效为2个正交放置的线圈,来产生同样的磁场。通过控制这两个正交线圈即可等效控制三相定子线圈。 还有一个问题,定子线圈产生的磁场&#xff…

集群与存储

所谓集群就是通过高速网络将很多服务器集中起来一起提供一种服务,在客户端看起来就是只有一个服务器 任务调度是集群中的核心系统 HPC高性能计算集群 LB负载均衡 HA高可用 LVS工作模式 NAT 网络地址转换 -m DR 路由模式 节点需要VIP -g TUN 隧道模式 -i 调度…

「Codeforces」D. Big Brush

D. Big Brush https://codeforces.com/contest/1638/problem/D 题目描述 给你一张 n m n\times m nm 大的网格纸,你有一把 2 2 2 \times 2 22 的刷子,每次只能涂满这么多,即 ( i , j ) 、 ( i 1 , j ) 、 ( i , j 1 ) 、 ( i 1 , j …

第二十二章 光照贴图

光照贴图过程将预先计算场景中静态物体表面的亮度,并将结果存储在称为“光照贴图”的纹理中供以后使用。光照贴图可以包含直接光照和间接光照,以及阴影效果。但是,烘焙到光照贴图中的数据无法在运行时更改,这就是为什么移动静态物…

Python入门教程+项目实战-12.1节: 字典的基础概念

目录 12.1.1 理解字典类型 12.1.2 字典的类型名 12.1.3 字典的定义 12.1.4 在循环中遍历字典 12.1.5 字典的键类型 12.1.6 知识要点 12.1.7 系统学习python 12.1.1 理解字典类型 在日常生活中,我们常常会接触到“字典”这种数据类型,例如一本书籍…

排序篇:直接插入、希尔、直接选择和堆排序(C语言)

目录 前言: 一:插入排序 (1)直接插入排序 基础思路(有个印象就行,主要看单趟): 单趟排序: 完整排序: 时间复杂度分析: (2)希尔排序 基础思路(有个印象就行,主要看单趟)&#…

【2023 年第十三届 MathorCup 高校数学建模挑战赛】D 题 航空安全风险分析和飞行技术评估问题 27页论文及代码

【2023 年第十三届 MathorCup 高校数学建模挑战赛】D 题 航空安全风险分析和飞行技术评估问题 27页论文及代码 1 题目 D 题 航空安全风险分析和飞行技术评估问题 飞行安全是民航运输业赖以生存和发展的基础。随着我国民航业的快速发展,针对飞行安全问题的研究显得…

网络编程 总结一

一、网络基础: 概念:1> 网络编程的本质就是进程间的通信,只不过进程分布在不同的主机上 2>在跨主机传输过程中,需要确定通信协议后,才可以通信 1. OSI体系结构(重点) 定义7层模型&…

针对近日ChatGPT账号大批量封禁的理性分析

文 / 高扬 这两天不太平。 3月31号,不少技术圈的朋友和我闲聊说,ChatGPT账号不能注册了。 我不以为然,自己有一个号足够了,并不关注账号注册的事情。 后面又有不少朋友和我说ChatGPT账号全部不能注册了,因为老美要封锁…

Java笔记_15(不可变集合、Stream流、方法引用)

Java笔记_15 一、创建不可变集合1.1、创建不可变集合的应用场景1.2、创建不可变集合的书写格式 二、Stream流2.1、体验Stream流2.2、Stream流的思想和获取Stream流2.3、Stream流的中间方法2.4、Stream流的终结方法2.5、收集方法collect2.6、练习-数字过滤2.7、练习-字符串过滤并…