VScode中配置 C/C++ 环境

news/2025/2/7 3:10:44/文章来源:https://www.cnblogs.com/sherioc/p/18584760

## VScode中配置 C/C++ 环境

1. 下载编译器MinGW并解压

  • 官网页面:https://www.mingw-w64.org/

  • 下载页面:https://sourceforge.net/projects/mingw-w64/files/

  • 下载页面中选择 x86_64-win32-seh 下载(目前已经更新,页面中没有,需要找很麻烦

    mingw下载

MinGW直接下载地址

https://wwn.lanzouh.com/iLOip031ku6b 密码:1234 (来源:@零流@火星动力猿 2022.4.12

在不含中文路径位置解压文件

image-20241203161720219

2. 将MinGW添加至Path环境变量

image-20241203162027057

3. 配置VScode插件

打开VScode安装插件 ChineseC/C++ ,等待安装完毕后重启VScode

image-20241203162231523

ctrl+shift+p,输入c/c++ configurations

image-20241203175336381

  • 更改前(此时是用的vs的配置)

Compiler path

image-20241203170018537

IntelliSense mode

image-20241203170058056

  • 更改后

选择g++.exe

image-20241203170203982

我们的Win11大部分是64位机器,故选择windows-gcc-X64

image-20241203170558227

Note:

image-20241203175125503

4. 运行代码

  • 测试代码
#include <stdio.h>
#include <stdlib.h>
int main()
{printf("Hello World!\n");printf("你好世界!\n");system("pause");    // 防止运行后自动退出,需头文件stdlib.hreturn 0;
}

Debug运行:Run -> start debugging(F5)

直接运行:Run -> start debugging(ctrl+F5)

5. 其他操作(非必须)

代码运行后 .vscode 文件夹会自动生成在你的源文件目录下

.vscode 文件夹下的 task.json 和 (launch.json) 用来控制程序的运行和调试

  • 将程序运行在外部控制台

    • 打开.vscode 文件夹下的 launch.json 文件,找到 "externalConsole": false,false 改为 true 并保存

      img

  • 解决中文乱码问题(可能出现)

    • 打开.vscode 文件夹下的 task.json 文件,找到 "${fileDirname}\\${fileBasenameNoExtension}.exe" 在后面加上英文 逗号 然后回车到下一行,粘贴下面文本 "-fexec-charset=GBK" 并保存

      img

  • 收纳生成的 exe 可执行文件

    • 打开.vscode 文件夹下的 task.json 文件,找到 "${fileDirname}\\${fileBasenameNoExtension}.exe"

    • 修改成 "${fileDirname}\\coin\\${fileBasenameNoExtension}.exe" 并保存,同理,launch.json 下也有相同的字段,需要你修改

    • 在源文件同目录下新建 coin 文件夹,程序运行后,可执行文件将会生成在里面(其中 coin 可修改成你喜欢的英文名字)

      这样 .c 文件一多起来的时候,就不会出现 .exe.c 相互穿插在目录中-

      img

6. 需要配置launch.json?

最新的c/c++插件不会生成launch.json

image-20241203175904394

6.1 方法一:安装旧的版本(not recommend)

切换C/C++插件至 1.8.4 版本

img

6.2 方法二:手动添加

Run -> Add configuration

image-20241203180229209

选择第一个

image-20241203180314208

此时会产生launch.json,但是里面什么也没有

image-20241203180422250

再次点击 Run -> Add configuration,选择gdb调试器

image-20241203180458115

需要注意并且手动修改以下两个路径

image-20241203180621124image-20241203181446359

tips:如果生成了launch.json而没有修改上面的路径,会出现

image-20241203181526922

Q:但是没有配置/生成lauch.json时候,点击运行/调试图标(或者F5运行调试)都能正常进行是为什么?

A:

image-20241203181825627

image-20241203181919079

可能直接在路径里找了gdb调试器

参考:

C/C++环境配置(手把手、负责任教你VScode的删除、安装及使用)

https://www.bilibili.com/video/BV1Cu411y7vT

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hot100-一刷-04子串(共3道题)

560. 和为 K 的子数组 题目链接 题目描述代码实现 分析:暴力:还是有点技巧的,如果单纯暴力,外层fori循环遍历起始下标start,内层forj循环遍历末尾end,里面还需要个循环,计算从i加到j,最坏会到\(O(n^3)\)。考虑固定某一个边界,比如固定end,从end往前算。点击查看代码 c…

JDBC链接数据库

1.首先我们需要下载mysql的官网jar包 https://dev.mysql.com/downloads/connector/j/ 这个版本比较新 然后打开idea 创建一个项目 下面是链接代码,记得看注释 package com.stu.jdbc;//我的包的名字叫com.stu.jdbc,报错可以删除 import java.sql.*; public class JDBC {//这个…

欧拉路/欧拉回路 学习笔记【未完工】

欧拉路判定 有向图 首先这张图将所有的有向边转为无向边之后图连通。 反例: 其次,我们知道当且仅当所有点的入度和出度都相等,才会有欧拉回路。因为一个点进去之后一定会出来,所以入度一定等于出度。 同理,我们也可以知道入度和出度差 \(1\) 时,才会有欧拉路。因为不要从…

XPT8871模块的使用

该模块引脚如下所示:由于XPT8871为单声道功放,因此只能连接1个喇叭。需要注意的是电源不能反接,否则会让芯片直接烧毁。另外该模块有个问题就是电流声很大,即使是5W的喇叭仍能听见较大的电流声。 但是该模块的价格还是蛮便宜的,只要1-2块钱就可以了。

JWT规范及使用

JWT结构 JWT由三部分组成:Header Payload SignatureJWT通常如下所示: xxxxx.yyyyy.zzzzz JWT结构部分说明 Header 报头通常由两部分组成:TOKEN的类型,即JWT,以及所使用的签名算法,如HMAC SHA256或RSA。 例如: { "alg": "HS256", "typ": &…

习题9.4

点击查看代码 import numpy as np import pandas as pd import scipy.stats as ss import statsmodels.api as sm data = np.loadtxt(F:\python数学建模与算法\源程序\《Python数学建模算法与应用》程序和数据\第9章 数据的描述性统计方法/ti9_4.txt) x1 = np.tile(np.arange(…

习题9.5

点击查看代码 import numpy as np import statsmodels.api as sm data = np.loadtxt(F:\python数学建模与算法\源程序\《Python数学建模算法与应用》程序和数据\第9章 数据的描述性统计方法/ti9_5.txt) x1 = np.vstack([np.ones((4, 4)), np.ones((4, 4))*2, np.ones((4, 4))*…

20222420 2021-2022-2 《网络与系统攻防技术》实验七实验报告

1.实验内容 1.1实验内容简述 本实践的目标为理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS spoof (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。 (4)提出具体防范方法 1.2近期学习内…

Ubuntu22.04 LTS 基于docker部署思源笔记

Ubuntu22.04 LTS 基于docker部署思源笔记 官网地址: https://b3log.org/siyuan/GitHub地址: https://github.com/siyuan-note/siyuan1. 启动docker容器 docker run -d \-v workspace_dir_host:workspace_dir_container \-p 6806:6806 \--restart always \b3log/siyuan \--wor…

如何提升日用品行业生产效率?

日用品生产中的协作效率低、任务分配不清、进度追踪困难、突发事件应对迟缓等问题普遍存在。数字化管理工具如Leangoo能提升协同与生产力。在日用品行业,快速反应和高效生产是生存之道。从采购、生产到物流配送,每一个环节都充满挑战。市场需求瞬息万变,交付周期日益缩短,任…

基于非线性预测和沿轨迹线性化MPC的车辆路径跟踪控制方法(2022年)

国自科/北大核心 华南理工大学、澳门大学 1.摘要 针对车辆路径跟踪模型预测控制(MPC)的动力学非线性问题和实时性要求,引入基于非线性预测和沿轨迹线性化的模型预测控制算法(MPC-NPLT),依据上一控制周期得到的控制序列预估系统未来的运动轨迹,将非线性因素从在线优化计…