首页 > 编程语言 >如何在VSCode上运行C/C++代码

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

时间:2024-10-08 19:20:26浏览次数:12  
标签:bin exe VSCode 代码 cmd C++ -- cpp ccppcode

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

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

文章目录

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博客

标签:bin,exe,VSCode,代码,cmd,C++,--,cpp,ccppcode
From: https://blog.csdn.net/PolarisRisingWar/article/details/142753145

相关文章

  • C++刷题:RGB色值转Integer
    问题描述:实现一个函数,输入为长度为三的rgb字符串,返回为十六进制HEX格式字符串。输入格式:字符串输出格式:数字输入样例:"rgb(192,192,192)"输出样例:12632256问题分析:    首先要进行字符串的处理。输入"rgb(192,192,192)",想办法将三个192提取出来,再将192192......
  • C++刷题:加一操作
    问题描述小W拥有一项魔法,可以对任意数字字符串进行加一的操作,比如当他拿到“798”这样的数字字符串,每一次操作,他会将其中每一个字符进行加一,比如经过一次操作后得到了“8109”。他想知道操作`k`次后,这个数字将会变成多少,由于答案可能很大,最终结果需要对1000000007取......
  • 2024年华为OD笔试机试E卷- 补种未成活胡杨 (java/c++/python)
    华为OD机试E卷2024真题目录(java&c++&python)本人习惯先看输入输出描述,可以明确知道哪些数据已知,需要去得到什么结果,再代入更有目的性地阅读题干内容,快速理解,所以把输入输出描述放在前面,你可以试下这样阅读对你是否有帮助。输入描述N总种植数量1≤N≤100000M......
  • 2024年华为OD笔试机试E卷- 关联子串 (java/c++/python)
    华为OD机试E卷2024真题目录(java&c++&python)本人习惯先看输入输出描述,可以明确知道哪些数据已知,需要去得到什么结果,再代入更有目的性地阅读题干内容,快速理解,所以把输入输出描述放在前面,你可以试下这样阅读对你是否有帮助。输入描述输入两个字符串,分别为题目中描述的......
  • 2020年华为杯数学建模竞赛A题代码和思路
    ASIC芯片上的载波恢复DSP算法设计与实现随着数字信号处理(DSP)技术的成熟以及芯片技术工艺的飞速发展,作为光传输领域中的关键技术之一,光数字信号处理在专用集成电路(ASIC)上的实现成为了研究重点。本文围绕着ASIC芯片中DSP算法设计流程中的主要步骤和常见问题,通过建立16QAM数......
  • 什么是源代码加密?十种方法教你软件开发源代码加密
    什么是源代码加密源代码加密是一种安全措施,它通过加密技术对软件的源代码进行保护,以防止未授权的访问、泄露、篡改或逆向工程。源代码是软件程序的原始代码,通常由程序员编写,然后编译成可执行程序。由于源代码包含了软件的设计逻辑和算法,它通常被视为企业的宝贵资产和商业机密......
  • 如何写出Pythonic的代码?
    f-string、三元操作、各种解析式、生成器装饰器的熟练运用,“内库”引用和函数封装再加持PEP8,撰写的脚本不pythonic都难。......
  • 在vscode开发平台中编写HTML的基础快门键以及安装插件
    1、HTML5是HTML的第五次重大修改;2、相关快门键使用如下:   (1)放大缩小视图:放大:Ctrl和+;缩小:Ctrl和-;   (2)向上复制一行:alt+shift+......
  • C++——有一个Date类,私有成员:月、日、年,公有成员:函数,其作用输出月/日/年,一个构造函数
    没注释的源代码#include<iostream>usingnamespacestd;classDate{private:  intmonth;  intday;  intyear;public:  voiddisplay()  {    cout<<month<<"/"<<day<<"/"<<year<<endl;......
  • C++——有Date类,私有成员:月日年,公有成员:函数,其作用输出月日年。一个构造函数有三个参
    没注释的源代码#include<iostream>usingnamespacestd;classDate{private:  intmonth;  intday;  intyear;public:  voiddisplay()  {    cout<<month<<"/"<<day<<"/"<<year<<endl;......