如何在VSCode上运行C/C++代码

news2024/10/8 16:52:13

诸神缄默不语-个人CSDN博文目录

我是Win10,其他系统仅供参考。

文章目录

  • 1. 下载所需插件
  • 2. 安装编译器
  • 3. 不借助编辑器的cpp代码执行
  • 3. 建立VSCode cpp项目
    • 3.1 c_cpp_properties.json
    • 3.2 settings.json
    • 3.3 tasks.json
  • 4. 运行C++代码
  • 参考资料

1. 下载所需插件

在这里插入图片描述

2. 安装编译器

如果安装插件后显示这样的界面,就说明插件没有找到本地电脑的编译器,需要你自己安装:
在这里插入图片描述

官方推荐安装Microsoft Visual C++ (MSVC)编译器,但我没有VS许可证,我就不整这玩意儿了,如果有的话可以整。我就搞点开源版的mingw凑合过过就行。以下是安装mingw和配置的步骤:

  1. 下载安装包:https://github.com/msys2/msys2-installer/releases/download/2024-01-13/msys2-x86_64-20240113.exe

  2. 安装:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 在打开的命令行窗口中运行:
    pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
    第一个选项输入Enter(表示全选),第二个选项输入Y

  4. 完成安装后,将MinGW-w64的bin文件夹加到PATH变量,具体步骤如下:

    1. 打开“设置”:
      在这里插入图片描述
    2. 搜索并进入“编辑系统环境变量”:
      在这里插入图片描述
    3. 双击系统变量中的PATH(或者点击PATH后点击编辑),添加bin文件夹,如在本例中就是D:\ccppcode\ccppcompile\ucrt64\bin
    4. 一路点击确定
  5. 在新的cmd窗口中检查安装成功:
    在这里插入图片描述

3. 不借助编辑器的cpp代码执行

创建文件helloworld.cpp:

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

在Windows的cmd窗口中执行:
D:\\ccppcode\\ccppcompile\\ucrt64\\bin\\g++.exe -g D:\\ccppcode\\cppprj1\\helloworld.cpp -o D:\\ccppcode\\cppprj1\\helloworld.exe

D:\\ccppcode\\cppprj1\\helloworld.exe
就能看到输出Hello, World!

3. 建立VSCode cpp项目

方法一:在文件浏览器的文件夹路径位置输入cmd(或者在cmd中用cd命令),输入code .命令
方法二:在VSCode中打开文件夹

在文件夹下建立.vscode文件夹,分别在其中创建以下文件:

3.1 c_cpp_properties.json

Ctrl+Shift+P调出命令面板,输入C/C:
在这里插入图片描述

3.2 settings.json

我的情况是我系统中Anaconda的mingw和我新安装的mingw路径冲突了,所以需要把我指定的路径提前:

{
    "terminal.integrated.env.windows": {
        "PATH": "D:\\ccppcode\\ccppcompile\\ucrt64\\bin;${env:PATH}"
    }
}

3.3 tasks.json

需要先点一遍:
在这里插入图片描述
在这里插入图片描述

这一步就自动创建了tasks.json,需要把command里面的路径改成/D:/ccppcode/ccppcompile/ucrt64/bin/g++.exe

4. 运行C++代码

在这里个人建议是把默认打开的终端窗口改成cmd,因为powershell好像没有权限,步骤是:

  1. 在这里插入图片描述
  2. 在这里插入图片描述

正式运行C++代码的步骤和创建默认tasks.json的步骤一样:
在这里插入图片描述
在这里插入图片描述
就可以得到输出:

(base) D:\ccppcode\cppprj1> cmd /C "c:\Users\user_name\.vscode\extensions\ms-vscode.cpptools-1.21.6-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-a5yhpgh1.s2p --stdout=Microsoft-MIEngine-Out-gkb1e3bj.i4w --stderr=Microsoft-MIEngine-Error-4ue10rdq.bad --pid=Microsoft-MIEngine-Pid-4ctvykye.wvo --dbgExe=D:\ccppcode\ccppcompile\ucrt64\bin\gdb.exe --interpreter=mi "
Hello, World!

参考资料

  1. VSCode配置C/C++环境 - mambaJava的文章 - 知乎
  2. https://code.visualstudio.com/docs/cpp/config-mingw
  3. https://stackoverflow.com/questions/76495365/simple-hello-world-program-giving-segmentation-fault-in-vs-code
  4. visual studio code怎么设置默认终端为cmd、PowerShell、WSL等_将 vscode 的默认终端修改为 powershell-CSDN博客

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

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

相关文章

记一次N5105 NAS功耗测量

记一次N5105 NAS功耗测量 一、设备说明 HA500机器&#xff0c;N5105CPU&#xff0c;32GB内存。unraid最新6.12.13系统硬盘有一根500G M2硬盘和一个512G sata接口ssd硬盘&#xff0c;用于组成zfs raid 1&#xff0c;作为cache盘位。另外有三个4T机械硬盘&#xff0c;组成21的形…

鸿蒙应用示例:DevEco Testing 工具的常用功能及使用场景

DevEco Studio 是鸿蒙生态中的集成开发环境(IDE)&#xff0c;而 DevEco Testing 工具则是专门用于测试鸿蒙应用的强大工具。本文将详细介绍 DevEco Testing 中几个常用的测试功能及其使用场景&#xff0c;并给出相应的代码示例。 【1】安装应用 使用场景&#xff1a;在鸿蒙系统…

imx6q 的 header.s的理解

首先是 非设备树的。 就是这三个文件。 header 是配置文件。 .c 文件应该是对这个文件的操作。 那么 header 怎么生成呢? 它这里调整好的 应该参数 应该就是 这个 header.s 了。 但是 这个程序 是 设备树的 流程 ,不知道 对于 非设备树 是不是 适用。 然后是设备树的。 设…

基于Arduino的遥控自平衡小车

基于Arduino的遥控自平衡小车 一、项目简介二、所需材料三、理论支持四、外壳设计五、线路连接六、检查MPU6050连接七、烧录库八、PID控制设置九、设置传感器参数十、无线移动控制十一、超声波模块 一、项目简介 一个使用Arduino Nano、MPU-6050以及便宜的6伏直流齿轮电机的自…

Vue中使用富文本编辑框的实践与探索

在Web开发中&#xff0c;富文本编辑框是一个常见的功能。本文将介绍如何在Vue项目中集成和使用富文本编辑框&#xff0c;并分享一些实践经验。 一、为什么需要富文本编辑框 在开发网站、博客、论坛等应用时&#xff0c;用户往往需要编辑和发布带格式的文本内容。传统的文本输…

分布式事务seata AT和XA性能对比

1. AT模式和XA模式性能对比&#xff1a; AT的阻塞是阻塞在了业务服务层&#xff0c;全局锁。 而XA模式是阻塞在了数据库&#xff0c;对数据库的性能影响很大。 肯定是优选AT&#xff0c;可以提升数据库的性能。 &#xff08;由于AT模式数据库事务阻塞小&#xff0c;那么同一…

公司监控电脑都能监控哪些信息?深刻回答,一文详解!

在当今数字化办公环境中&#xff0c;公司监控电脑已成为许多企业保障信息安全、提升工作效率的重要手段。 然而&#xff0c;这种监控行为也引发了关于员工隐私权的广泛讨论。 本文将深入探讨公司监控电脑所能监控的信息范围&#xff0c;以及如何在保障企业安全与尊重员工隐私…

omron fins 内存区域写入(MEMORY AREA WRITE)

1. 完整的代码如下&#xff1a; import socket import binasciiclass Omron:def __init__(self, ip, port9600):self.ip ip # PLC的IP地址self.port port # PLC的端口&#xff0c;默认为9600def send_receive_fins(self):with socket.socket(socket.AF_INET, socket.SOCK_…

某个应用的CPU使用率居然达到100%,我该怎么办?

摘至https://learn.lianglianglee.com/ CPU使用率 Linux 作为一个多任务操作系统&#xff0c;将每个 CPU 的时间划分为很短的时间片&#xff0c;再通过调度器轮流分配给各个任务使用&#xff0c;因此造成多任务同时运行的错觉。 为了维护 CPU 时间&#xff0c;Linux 通过事先定…

使用标签实现MyBatis的基础操作

目录 前言 1.配置MyBatis⽇志打印 2.参数传递 2.1 #{} 和 ${}区别 2.2传递多个参数 3.增删改查 3.1增(Insert) 3.2删(Delete) 3.3改(Update) 3.4查(Select) 前言 接下来我们会使用的数据表如下&#xff1a; 对应的实体类为&#xff1a;UserInfoMapper 所有的准备工作都…

全局数据在Python包中模块间管理方法探讨

在开发大型 Python 应用程序时&#xff0c;有时需要多个模块共享和管理全局数据。如何优雅地在 Python 包内的不同模块间共享全局数据是一个常见的设计问题。我们希望避免全局变量的混乱和难以维护的代码&#xff0c;但同时能够安全、高效地管理这些共享数据。 下面我们将探讨…

低代码赋能汽车制造产业链场景系列

当前汽车行业数字化智能化转型浪潮下&#xff0c;整车及其上下游产业链的协同创新正变得至关重要。头部车企与上下游供应链企业正逐步解决在生产管理、业务互通、系统集成等方面的痛点与挑战。电动化、智能化、网联化作为汽车产业的三大趋势&#xff0c;正共同推动未来汽车产业…

MS SQL Server 实战 统计与汇总重复记录

目录 需求 范例运行环境 数据样本设计 功能实现 上传EXCEL文件到数据库 分组统计 SQL 语句 分组汇总 SQL 语句 having 语句过滤最终统计结果 小结 需求 在日常的数据管理应用中&#xff0c;统计和汇总重复记录的情况是经常遇到的一个问题&#xff0c;然后我们会根据统…

文字转语音软件哪个好?这里告诉你

在英语学习的众多环节中&#xff0c;听力练习无疑是至关重要的一环。 然而&#xff0c;平时缺乏英语环境&#xff0c;如何高效地利用身边的英语材料进行听力训练呢&#xff1f;这时&#xff0c;英语文字转语音工具就很重要了&#xff01; 今天&#xff0c;就为大家介绍五款优…

【C++】认识匿名对象

文章目录 目录 文章目录前言一、对匿名对象的解读二、匿名对象的对象类型三、匿名对象的使用总结 前言 在C中&#xff0c;匿名对象是指在没有呗命名的情况下创建的临时对象。它们通常在单个语句中执行一系列操作或调用某个函数&#xff0c;并且不需要将结果存放进变量中。 匿名…

常用动词敬语形式大揭秘,柯桥零基础日语培训

一、常用动词的敬语形式 1. する&#xff08;做&#xff09; • 尊敬语&#xff1a; なさる (Nasaru) 例&#xff1a;社長はよく運動をなさいます。 &#xff08;社长经常锻炼。&#xff09; • 谦逊语&#xff1a; いたす (Itasu) 例&#xff1a;この仕事は私がいたします。 &…

Java解析图形mdb矢量mdb

Java解析图形mdb矢量mdb 背景&#xff1a;项目中需要解析图形mdb&#xff0c;同事积累下的代码无法读取复杂图形&#xff1b;终于在某位大佬的博客下发现新的 解析方法&#xff0c;特此整理记录下。原理&#xff1a;jackcess&#xff08;assess提供解析mdb属性&#xff09;、es…

C++模拟实现二叉搜索树

目录 1.二叉搜索树的概念 2.二叉搜索树的性能分析 3.二叉搜索树的结构和中序遍历 3.1二叉搜索树中节点的结构 3.2二叉搜索树的结构 3.3中序遍历 4.二叉搜索树的插入 5.二叉搜索树的查找 6.二叉树搜索树的删除 7. 二叉搜索树的默认成员函数 8.参考代码 9.二叉搜…

常见的图像处理算法:Canny边缘检测

一、Canny边缘检测算子的由来 Canny 边缘检测算子是一种多级检测算法。1986 年由 John F. Canny 提出&#xff0c;同时提出 了边缘检测的三大准则&#xff1a; 1、低错误率的边缘检测&#xff1a;检测算法应该精确地找到图像中的尽可能多的边缘&#xff0c;尽可能的减少漏检…

【一起学Rust | 框架篇 | Tauri2.0框架】高级概念之安全特性的权限与能力

文章目录 前言一、开发前准备1. 准备项目2. 需求分析1. 监听系统热键2. 切换窗口无边框3. 切换窗口全屏 二、安装插件三、前端实现功能四、配置权限 前言 当前时间为 2024 年 9 月&#xff0c;距离Tauri 2.0 的 RC 版本发布迄今已近一个月。从 Tauri 官方渠道可以看出&#xf…