当前位置: 首页 > news >正文

vscode使用g++编译.c文件或.cpp文件

    vscode是一个跨平台、轻量级、插件非常丰厚的IDE,这里介绍在vscode里使用g++来编译.cpp文件。g++也叫GCC, 在Window中,是使用MinGW方式实现g++的,它分为32位和64位2个版本,其中,MinGW-64是64位的,MinGW-32是32位的。

1、下载并配置g++

1.1 下载g++ 8.1

    下载GCC 64位 编译器,比如MinGW-W64 GCC-8.1,在 Sourceforge官网,选中x86_64-win32-sjlj即可下载,如图(1)所示:

图(1) 下载MinGW-W64-GCC-8.1.0

    MinGW-W64 GCC-8.1 官网地址: MinGW-W64 GCC-8.1.0
    MinGW-W64 GCC-8.1 个人地址: MinGW-W64 GCC-8.1.0 提取码:7b45

1.2 配置g++

    下载之后,会得到一个压缩包:x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z,将这个x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z文件解压缩,会得到一个名称为mingw64的文件夹,如图(2)所示:

图(2) 右击压缩包,选择"解压到当前文件夹",即可得到mingw64文件夹

    然后,把g++的bin路径设置到系统环境变量的Path里,此处的g++的bin路径为:I\Profile\mingw64\bin, 如图(3)、图(4)所示:

## g++的bin路径(即编译路径)
I:\Profile\mingw64\bin
图(3) g++.exe所在的路径,即为g++的编译路径(也叫bin路径)

    右击桌面左下角【开始】–》设置 --》输入"环境"关键字,选择"编辑系统环境变量" --》环境变量 --》系统变量 --》Path --》编辑 --》添加g++的bin路径,如图(5)、图(6)所示:

图(5)在【设置】里,输入"环境" --》选中"编辑系统环境变量"

图(6) 在系统环境变量Path里,添加g++的bin路径

1.3 验证g++

    按Win+R,输入:cmd , 按回车键 ,进入DOS黑框框窗口,输入命令: g++ -v

## 检查g++的版本,
g++ -v

    若可以看到g++的版本号,说明g++环境配置成功,如图(6)所示:

图(6) 查看g++的版本号,以验证g++环境

2、下载vscode、Code Runner插件和C++插件

2.1 下载vscode

    vscode每3个月就有一次版本更新,而且分为Linux、Mac、Window这个平台版本,这里只介绍Window平台版本的下载。
    vscode官网: https://code.visualstudio.com/download
    查看自己电脑的系统位数,若是64位,则安装x64版本的vscode;若是32位,则安装x86版本的vscode。
    右击【我的电脑】–》属性,就可以看到系统位数了,如图(7)、图(8)所示:

图(7) 查看电脑的系统位数

图(8)安装系统位数,来选择对应的版本,此处选择x64表示64位

    下载vscode之后,安装即可。

2.2 Code Runner插件

    点击vscode左侧的【插件】按钮 --》输入:runner关键字,选中Code Runner安装即可,如图(9)所示:

图(9)输入:runner,选中Code Runner安装即可

2.3 安装C++插件

    点击vscode左侧的【插件】按钮 --》输入:C++关键字,选中C/C++安装,接着选择C/C++ Extension Pack安装,然后选择C/C++ Themes安装,如图(10)所示:

图(10)安装C/C++编译器、提示助手、类visual studio主题

3、在vscode里设置g++环境

    新建一个文件夹,比如新建一个名称为hello的文件夹,然后右击它,使用vscode打开,在hello文件夹新建一个名称.vscode文件夹,然后在.vscode文件夹里新建c_cpp_properties.json文件,填入如下信息:
    //c_cpp_properties.json 文件内容

{"configurations": [{"name": "MinGW64","includePath": ["${workspaceFolder}/**","I:\\Profile\\mingw64\\include"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"browse":{"path":["${workspaceFolder}","I:\\Profile\\mingw64\\include"]},"windowsSdkVersion": "8.1","compilerPath": "I:\\Profile\\mingw64\\bin\\g++.exe","cStandard": "c11","cppStandard": "c++11","intelliSenseMode": "gcc-x64"}],"version": 4
}

    在hello文件夹里新建一个hello.cpp文件,内容如下:
    //hello.cpp文件

#include <iostream>
using namespace std;int main(){int a=2,b=3, c=0;c = a+b;cout<<"c="<<c<<",a="<<a<<",b="<<b<<endl;return 0;
}
图(11) hello工程的目录结构

    右击hello.cpp --》Run Code 即可编译和运行,如图(12)、图(13)所示:

图(12) 右击hello.cpp --》Run Code 即可运行

    效果如下:

图(13) 使用g++编译和运行.cpp文件

    至此,g++在vscode的环境和工程设置,全部部署完成。

相关文章:

vscode使用g++编译.c文件或.cpp文件

vscode是一个跨平台、轻量级、插件非常丰厚的IDE&#xff0c;这里介绍在vscode里使用g来编译.cpp文件。g也叫GCC, 在Window中&#xff0c;是使用MinGW方式实现g的&#xff0c;它分为32位和64位2个版本&#xff0c;其中&#xff0c;MinGW-64是64位的&#xff0c;MinGW-32是32位的…...

云计算的服务模式包括哪些|PetaExpress云服务商

云计算&#xff08;cloud computing&#xff09;它是一种分布式计算&#xff0c;是指通过网络“云”将巨大的数据计算处理程序分解成无数的小程序&#xff0c;然后通过由多个服务器组成的系统进行处理和分析&#xff0c;得到结果并返回给用户。云计算作为一种基于互联网的新型超…...

iOS--通知、代理、单例模式总结

通知 概要 观察者和被观察者都无需知晓对方&#xff0c;只需要通过标记在NSNotificationCenter中找到监听该通知所对应的类&#xff0c;从而调用该类的方法。并且在NSNotificationCenter中&#xff0c;观察者可以只订阅某一特定的通知&#xff0c;并对齐做出相应操作&#xf…...

选择最佳安全文件传输方法的重要性

在数字化时代&#xff0c;文件的传输是商务、教育、科研、医学等领域不可或缺的工作流程。为了保障数据安全&#xff0c;选择最佳安全文件传输方法非常关键。在本文中&#xff0c;我们将探讨选择最佳安全文件传输方法的重要性。 第一、最佳安全文件传输方法可以保证文件内容不被…...

IBM LSF 集群虚拟化和工作负载管理解决方案

IBM LSF 集群虚拟化和工作负载管理解决方案 全面综合的工作负载管理解决方案&#xff0c;不仅能够简化 HPC&#xff0c;还能大幅改善用户和管理员体验、可靠性和性能 用途 IBM Spectrum LSF Suites 组合通过为任务关键型 HPC 环境提供集成解决方案&#xff0c;重新定义集群虚…...

C++(14):重载运算与类型转换

当运算符被用于类类型的对象时&#xff0c;允许我们为其指定新的含义&#xff1b;同时&#xff0c;也能自定义类类型之间的转换规则。和内置类型的转换一样&#xff0c;类类型转换隐式地将一种类型的对象转换成另一种我们所需类型的对象。 当运算符作用于类类型的运算对象时&a…...

【深度学习】基于图形的机器学习:概述

一、说明 图神经网络&#xff08;GNN&#xff09;在数据科学和机器学习中越来越受到关注&#xff0c;但在专家圈之外仍然知之甚少。为了掌握这种令人兴奋的方法&#xff0c;我们必须从更广泛的图形机器学习&#xff08;GML&#xff09;领域开始。许多在线资源谈论GNN和GML&…...

内存泄漏是什么?有什么危害

内存泄漏是什么&#xff1f;有什么危害 1. 前言1.内存泄漏是什么&#xff1f;2. 为什么会发生内存泄漏3. 内存泄漏的危害4. 总结 1. 前言 在各种项目开发中&#xff0c;内存泄漏是一个很严重的问题。对资源管理、性能优越、系统稳定性&#xff0c;以及是否安全产生极大印象。本…...

【项目设计】基于负载均衡的在线oj平台

目录 一、项目介绍 二、开发环境以及技术 三、概要设计 四、关键算法 五、项目演示 六、代码实现 一、项目介绍 该项目是基于负载均衡的在线oj&#xff0c;模拟平时刷题网站&#xff08;leetcode和牛客&#xff09;写的一个在线判题系统 项目主要分为五个模块&#xff…...

生产环境Session解决方案、Session服务器之Redis

目录 一、服务器配置 二、安装nginx 三、安装配置Tomcat&#xff1a; 四、配置session Session服务器之Redis Redis与Memcached的区别 安装部署redis 一、服务器配置 IP地址 主机名 软件包列表 192.168.100.131 huyang1 nginx 192.168.100.133 huyang3 JDK Tomca…...

SPECjvm2008_1_01 openjdk8 x86_64 ARM64 运行时长、成绩 Run is valid, but not compliant

i5-9600k 架构&#xff1a; x86_64CPU 运行模式&#xff1a; 32-bit, 64-bitAddress sizes: 39 bits physical, 48 bits virtual字节序&#xff1a; Little Endian CPU: 6在线 CPU 列表&#xff1a; …...

安卓:百度地图开发(超详细)

一、百度地图介绍 百度地图SDK是一套供开发者使用的软件开发工具包&#xff08;SDK&#xff09;&#xff0c;用于在Android应用程序中集成和使用百度地图功能。通过使用百度地图SDK&#xff0c;开发者可以实现在自己的应用中显示地图、获取定位信息、进行搜索、导航等功能。 百…...

DDSv1.4规范(中文版)

实时数据分发 (DDS) V1.4 (2015-04-10正式发布) https://www.omg.org/spec/DDS/1.4/PDF http://www.omg.org/spec/DDS/20140501/dds_dcps.idl...

oracle,获取每日24*60,所有分钟数

前言&#xff1a; 为规范用户的时间录入&#xff0c;因此我们采用下拉的方式&#xff0c;让用户选择需要的时间&#xff0c;因此我们需要将一天24小时的时间拆分为类似00:00,00:01...23:00,23:01,23:59。因此我们需要生成24*601440行的下拉复选值。具体效果如下图所示。 思路 1…...

vue elementui table去掉滚动条与实现表格自动滚动且无滚动条

当table内容列过多时&#xff0c;可通过height属性设置table高度以固定table高度、固定表头&#xff0c;使table内容可以滚动。 现在需求是右侧滚动条不好看&#xff0c;需要去除滚动条&#xff0c;并隐藏滚动条所占列的位置。让他可以滚动但是不出现滚动条,不然即时隐藏了滚动…...

SDK命令行工具配置

SDK命令行工具配置 最早的Android SDK工具包&#xff0c;包含一些GUI的工具。 而在一些场景&#xff08;如打包&#xff09;只需要命令行工具时&#xff0c;下载 command-line tools 即可。 到 Android Studio下载页 &#xff0c;找到 Command line tools only 下载。 命令…...

【数字IC基础】竞争与冒险

竞争-冒险 1. 基本概念2. 冒险的分类3. 静态冒险产生的判断4. 毛刺的消除使用同步电路使用格雷码增加滤波电容增加冗余项&#xff0c;消除逻辑冒险引入选通脉冲 1. 基本概念 示例一&#xff1a; 如上图所示的这个电路&#xff0c;使用了两个逻辑门&#xff0c;一个非门和一个与…...

速成版-带您一天学完python自动化测试(selenium)

Selenium是一套web网站的程序自动化操作解决方案。我们通过编写自动化程序&#xff0c;使得自动完成浏览器界面的相关操作&#xff0c;除了能够自动化的完成相关操作&#xff0c;还能从web页面获取相关信息&#xff0c;然后通过程序进行分析处理&#xff0c;本质上就是提升从网…...

windows 删除无法删除的文件

有两种原因&#xff1a; 文件被占用文件无权限 解决方案 通用解决方案是进入安全模式进行删除 安全模式&#xff1a; 不会启动非必要的进程有最高的系统权限 进入系统配置 安全引导&#xff0c;重启 删除文件 修改系统配置为正常启动 重启...

FFmpeg[7] - FFmpeg之预设编码参数preset

目录 前言 正文 一、定义与作用 二、取值范围 三、枚举值 四、使用实例...

CVPR2023新作:3D视频物体检测

Title: 3D Video Object Detection With Learnable Object-Centric Global Optimization Affiliation: 中国科学院自动化研究所 (Institute of Automation, Chinese Academy of Sciences)&#xff0c;中国科学院大学人工智能学院 (School of Artificial Intelligence, Univers…...

Keepalived热备、Keepalived+LVS、HAProxy监控及后端服务器健康检查、负载均衡调度器对比

day02 day02KeepAlived高可用集群配置高可用的web集群监控本机80端口&#xff0c;实现主备切换实现原理实施配置高可用、负载均衡的web集群配置高可用、负载均衡HAProxy配置haproxy负载均衡调度器比较LVS&#xff08;Linux Virtual Server&#xff09;NginxHAProxy KeepAlive…...

用Vue开发仿旅游站webapp项目总结 (上)

写着写着发现会写不少内容... 全部写在一篇文章里感觉太多了不方便看&#xff0c;所以分为上下篇吧... 下篇写完啦&#xff0c;感兴趣的朋友可以继续关注~ > 用Vue开发仿旅游站webapp项目总结 &#xff08;下&#xff09; 温馨提示 此文章&#xff0c;仅是做完项目后的个人…...

【Koa】[NoSQL] Koa中相关介绍和使用Redis MongoDB增删改查

目录 NoSQL非关系型数据库关系型数据库&#xff08;RMDB&#xff09;介绍非关系型数据库&#xff08;NoSQL&#xff09;介绍Redis & MongoDB 在 Koa 中使用 Redis (了解)Redis 的安装和使用在 Koa 中连接 和 调用 Redis 在 Koa 中使用 MongoDBMongoDB 的安装MongoShell 操作…...

【JS 阻止滑动穿透】

在实现阻止滑动穿透时&#xff0c;可以使用以下方法之一&#xff1a; 使用 CSS 属性 overflow: hidden 来禁止页面滚动。 body {overflow: hidden; }使用 JavaScript 监听滚动事件并阻止默认行为。 document.addEventListener(touchmove, function(e) {e.preventDefault(); …...

编译原理

目录 一&#xff0c;基本概念 二&#xff0c;词法分析 三&#xff0c;自上而下推导 一&#xff0c;基本概念 二&#xff0c;词法分析 三&#xff0c;自上而下推导...

项目播报 | 新基德携手璞华易研PLM,打造企业新一代研发管理平台

近日&#xff0c;“新基德PLM&#xff08;Product Lifecycle Management&#xff0c;产品生命周期管理&#xff09;项目”在新基德&#xff08;深圳&#xff09;电子有限公司&#xff08;以下简称&#xff1a;新基德&#xff09;正式启动。新基德是一家集手机研发、生产、销售、…...

elementui el-table 封装表格

ps: 1.3版本 案例&#xff1a; 完整代码&#xff1a; 可直接复制粘贴&#xff0c;但一定要全看完&#xff01; v-slot"scopeRows" 是vue3的写法&#xff1b; vue2是 slot-scope"scope" <template><!-- 简单表格、多层表头、页码、没有合并列行…...

集合--collections

一、collections概述 Collections和Arrays、Objects-一样&#xff0c;都是一种针对性的工具类, Arrays是针对数组&#xff0c;Objects是针对Object, 而Colections则是针对集合的一种工具类&#xff0c;里面提供了大量的方便我们操作集合的方法: //往集合中添加一些元素。 p…...

go使用gin结合jwt做登录功能

1、安装gin go get -u github.com/gin-gonic/gin 2、安装session go get github.com/gin-contrib/sessions 3、安装JWT鉴权 go get "github.com/golang-jwt/jwt/v4" 4、创建一个jwt的工具文件 package utilsimport ("errors""github.com/golan…...