VScode中配置 C/C++ 环境 | IT拯救者

news/发布时间2024/5/14 21:38:14

文章目录

  • 0 引言
  • 1. 下载编辑器VScode
  • 2. 下载编译器MinGW并解压
  • 3. 将MinGW添加至环境变量
  • 4. 配置VScode插件
  • 5. 运行代码
  • 6. 调整和优化
  • 7. 提示
  • 8. 例行格式条款
  • 9. 例行格式条款

0 引言

由于VScode毛毛张使用不习惯,因此配置教程记不住,不过毛毛张看到一篇不错的文章,便想记录在此处,下面标注出处:

Tip:请在电脑端查看
@零流@火星动力猿 2022.4.12

1. 下载编辑器VScode

  • 官网:https://code.visualstudio.com/(点链接时按下Ctrl,不会覆盖当前页面哦)

    在这里插入图片描述

  • 安装VScode(建议附加任务全部勾选)

    在这里插入图片描述

2. 下载编译器MinGW并解压

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

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

    你可以进入官网自行寻找

    你也可以直接点击为你找好的下载页面

  • 下载页面中选择 x86_64-win32-seh 下载

    在这里插入图片描述

    如果你因为网络环境限制无法下载

    不限速下载,请笑纳-:https://wwn.lanzouh.com/iLOip031ku6b 密码:1234

  • 在C盘中解压文件

    在这里插入图片描述

    理论上你可以在任何地方解压,但注意路径不能包含中文,至于特殊字符请自行测试

3. 将MinGW添加至环境变量

  • 进入mingw64下的bin文件夹,复制当前路径,Win + i唤起系统设置,输入高级系统设置并进入,点击环境变量,选择path,编辑,新建,粘贴路径,按下三个确定

    在这里插入图片描述

4. 配置VScode插件

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

    在这里插入图片描述

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

    在这里插入图片描述

    因最新版本不会自动生成launch.json文件,给后续优化带来不便,故退回旧版本。

5. 运行代码

  • 新建文件夹,修改为英文名称并进入,右键 通过Code打开 若在安装时未勾选相关选项,可能没有这个选项,请自行在VScode内操作打开文件夹

  • 新建一个文件,英文命名且扩展名为 .c

  • 编写相关代码

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {printf("Hello World!\n");printf("你好世界!\n");system("pause");    // 防止运行后自动退出,需头文件stdlib.hreturn 0;
    }
    
  • VScode菜单栏,点击运行,启动调试,稍等程序运行,输出结果在下方终端,上方调试面板,点击最右边的 橙色方框 停止程序运行

在这里插入图片描述

6. 调整和优化

请根据自己的需要进行优化

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

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

  • 将程序运行在外部控制台【推荐】

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

      在这里插入图片描述

  • 解决中文乱码问题【推荐】

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

      在这里插入图片描述

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

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

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

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

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

      在这里插入图片描述

7. 提示

  • 若源代码文件夹含有中文路径,将会无法编译程序。
  • 若你的Windows用户名使用了中文,可能无法运行。
  • 我知道GIF的自动播放,让你不知从何看起,没办法┗( T﹏T )┛

8. 例行格式条款

  • 本文以自身分享为主,文中的提到的包括但不限于电脑操作、软件安装、点击链接,作者不保证有效性和可能发生的不利后果。
  • 若你的Windows用户名使用了中文,可能无法运行。
  • 我知道GIF的自动播放,让你不知从何看起,没办法┗( T﹏T )┛

9. 例行格式条款

  • 本文以自身分享为主,文中的提到的包括但不限于电脑操作、软件安装、点击链接,作者不保证有效性和可能发生的不利后果。
  • 如需转载请在开头注明作者和出处

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

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

相关文章

接口测试总结及其用例设计方法

接口测试的总结文档 第一部分&#xff1a;主要从问题出发&#xff0c;引入接口测试的相关内容并与前端测试进行简单对比&#xff0c;总结两者之前的区别与联系。但该部分只交代了怎么做和如何做&#xff1f;并没有解释为什么要做&#xff1f; 第二部分&#xff1a;主要介绍为什…

C语言----内存函数

内存函数主要用于动态分配和管理内存&#xff0c;它直接从指针的方位上进行操作&#xff0c;可以实现字节单位的操作。 其包含的头文件都是&#xff1a;string.h memcpy copy block of memory的缩写----拷贝内存块 格式&#xff1a; void *memcpy(void *dest, const void …

Leo赠书活动-16期 名校毕业生教材

Leo赠书活动-16期 名校毕业生教材 ✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠…

LeetCode JS专栏刷题笔记(一)

一、前言 LeetCode 在前不久出了一个 JavaScript 专栏&#xff0c;这个专栏一个目的是为了非前端工程师学习 JS&#xff0c;另一个是为了前端工程师提升 JS 能力。 因此在这个专栏中&#xff0c;基本不涉及什么具体算法问题&#xff0c;都是一些 JS 的入门语法与常见的 JS 面…

Android13 针对low memory killer内存调优

引入概念 在旧版本的安卓系统中&#xff0c;当触发lmk&#xff08;low memory killer&#xff09;的时候一般认为就是内存不足导致&#xff0c;但是随着安卓版本的增加lmk的判断标准已经不仅仅是内存剩余大小&#xff0c;io&#xff0c;cpu同样会做评判&#xff0c;从而保证设备…

基于 Python 深度学习的电影评论情感分析系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

总结:Mybatis报错Invalid bound statement (not found)

目录 1、Mapper.xml中mapper namespace路径不准确 2、TextDao&#xff08;接口&#xff09;与TextMapper.xml id标签不一致 ​编辑 3、application.properties中配置mybatis.type-aliases-packagecom.demo.entity需要与Text实体类路径一致 4、pom.xml文件中需要配置<res…

adobe软件提示This non-genuine Adobe app will be disabled soon【软件版本】

因为电脑上级路由器装了小飞机&#xff0c;导致本机电脑ps等adobe的系列软件出现了 This non-genuine Adobe app will be disabled soon&#xff0c;烦人的狠&#xff0c;之前有写过一篇通过更改host的教程&#xff0c;现在已经失效了&#xff0c;今天为大家分享一个用软件来屏…

关于数据结构的定义以及基本的数据结构

在计算机科学中&#xff0c;数据结构是指用于组织和存储数据的方式或方法。它涉及到在计算机内存中存储、管理和操作数据的技术和原则。数据结构不仅仅是简单地存储数据&#xff0c;还可以提供高效的数据访问和操作方式&#xff0c;以满足特定的需求。 以下是每个数据结构的详细…

ubuntu屏幕小的解决办法

1. 安装vmware tools , 再点自适应客户机 执行里面的vmware-install.pl这个文件 &#xff1a;sudo ./vmware-install.pl 执行不了可以放到家目录&#xff0c;我放在了/home/book 里面 最后点这个自适应客户机 然后我这里点不了是因为我点了控制台视图和拉伸客户机&#xff0c…

个人简历补充

个人简历补充 1.对工作的认识2.八股文和知识面3.框架/架构角度深扒3.1 前端3.1.1 mPaaS&#xff08;移动领域&#xff09;3.1.2 普通前端项目框架3.1.3 微前端 3.2 后端 持续更新 1.对工作的认识 2.八股文和知识面 前端&#xff08;基础知识 / 开发能力 / 总结输出能力&#xf…

electron桌面开发相关注意点

electron的部署以及配置 如果使用的是pnpm&#xff0c;请先配置一下镜像&#xff0c;否则会安装失败的&#xff1a; pnpm config set registryhttps://registry.npmmirror.com pnpm config set electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ pnpm config set …

【Linux】进程间通信——共享内存

文章目录 共享内存的概要创建共享内存shmget()参数keyshmget()参数sizeshmget()参数shmflg 删除共享内存挂载共享内存去关联 共享内存的概要 共享内存允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间传递数据的一种非常有效的方式。不同进程之间…

用阿里云一键部署了幻兽帕鲁服务器,怎么一键切换成雾锁王国服务器?

之前用阿里云一键部署的幻兽帕鲁服务器&#xff0c;现在不想玩了&#xff0c;想要换成雾锁王国服务器&#xff0c;该怎么操作呢&#xff1f; 操作方法如下&#xff1a; 首先打开你的阿里云计算巢&#xff0c;之前你买过的一键部署幻兽帕鲁服务实例&#xff0c;这里应该可以看…

Ansible的脚本 --- playbook 剧本

目录 playbook的简介 什么是playbook playbook组成 应用实例 Templates 模块 tags 模块 Roles 模块 playbook的简介 什么是playbook Ansible Playbook 是设定自动化任务的一种蓝图&#xff0c;可在无需人工干预或有限干预的前提下执行复杂的 IT 操作。Ansible Playboo…

Zig、C、Rust的Pk1

Zig、C、Rust的Pk1 github.com上看到“A basic comparitive analysis of C, C, Rust, and Zig.”&#xff1a;https://github.com/CoalNova/BasicCompare/tree/main 里边的代码是9个月之前的&#xff0c;用现在的zig 0.11.0 及0.12-dev都无法通过编译(具体为&#xff1a;zig-w…

【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比LS,MMSE,ML。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 深度学习技术在无线通信领域的应用越来越广泛&#xff0c;特别是在非正交多址接入&#xff08;NOMA&#xff09;和正交频分复用&#xff08;OFDM&#xff09;系统中&#xff0c;深度学习技术被用来提高信道估计的性能和效率。…

【JavaEE】_CSS选择器

目录 1. 基本语法格式 2. 引入方式 2.1 内部样式 2.2 内联样式 2.3 外部样式 3. 基础选择器 3.1 标签选择器 3.2 类选择器 3.3 ID选择器 4. 复合选择器 4.1 后代选择器 4.2 子选择器 4.3 并集选择器 4.4 伪类选择器 1. 基本语法格式 选择器若干属性声明 2. 引入…

Jmeter 分布式压测

‍你可以使用 JMeter 来模拟高并发秒杀场景下的压力测试。这里有一个例子&#xff0c;它模拟了同时有 5000 个用户&#xff0c;循环 10 次的情况‍。 请求默认配置 token 配置 秒杀接口 结果分析 但是&#xff0c;实际企业中&#xff0c;这种压测方式根本不满足实际需求。下面介…

npm run dev运行出现NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host?

问题描述 PS E:\AWorkDataease\DataEase\core\core-frontend> npm run dev dataease0.0.0 dev NODE_OPTIONS–max_old_space_size4096 vite --mode dev --host 0.0.0.0 ‘NODE_OPTIONS’ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 解决方案 遇到…
推荐文章