vscode运行C/C++程序

news2024/11/27 14:41:04

一、vsocde对C/C++的支持

Visual Studio Code对C/C++语言的支持由Microsoft C/C++扩展程序提供。它使得C/C++在Windows、Linux和macOS等跨平台开发成为可能。

在这里插入图片描述

二、安装扩展程序

  1. 打开VS Code软件
  2. 选择任务栏上的扩展视图图标(下图红色方框)或使用快捷键(Ctrl+Shift+X)
  3. 在输入框中搜索'C++'
  4. 选择安装(install)

在这里插入图片描述

在你安装完扩展程序后,当你开或者创建一个*.c或者*.cpp文件时,VS Code将具有语法高亮显示(着色),智能补全和悬停(智能感知),以及错误检查等功能。

在这里插入图片描述

三、安装编译器

C/C++ 是编译型语言,这意味着在程序能够在你的电脑上运行之前程序的源代码必须被编译。VS code 首要是(文本)编辑器,并且依赖命令行工具完成大部分开发工作流程。C/C++扩展不包括C++编译器或调试器。你可能需要安装这些工具或者这些工具已经在你的电脑上安装了。

您的学术、学习或工作的开发环境可能已经提供了c++编译器和调试器。向你的导师或同事咨询如何安装推荐的C++工具集(compiler, debugger, project system, linter).

某些平台,如Linux或macOS,已经安装了C++编译器。大多数Linux发行版都安装了GNU编译器集合(GCC), macOS用户可以通过Xcode获得Clang工具。

四、检查你是否安装了编译器

确保你的编译器程序在你的平台路径中(环境变量的path路径)(%PATH on Windows, $PATH on Linux and macOS),以便C++扩展程序可以找到它。你可以通过在VS Code中打开集成终端(Ctrl+ ' ,后一个按键位于键盘按键Esc的下方)并尝试直接运行编译器来检查C++工具的可用性。

检查是否安装GCC编译器

g++ --version

检查是否安装Clang编译器

 clang --version

如果你没有安装编译器,在下例中,我们将介绍如何安装the Minimalist GNU for Windows (MinGW) C++工具(编译器和调试器)。

MinGW是一个流行的,免费的Windows工具集。如果你在其他平台上运行VS Code,你可以阅读下文中的C++教程,它涵盖了Linux和macOS的c++配置。

五、安装MinGW-64

我们将通过MSYS2安装Mingw-w64,。

MSYS2提供了GCC最新本机构建、Mingw-w64和其他有用的C++工具和库。您可以从MSYS2页面下载最新的安装程序,也可以点击此链接下载安装程序。

安装MSYS2和MinGW

1、鼠标左键双击下载好的软件

在这里插入图片描述
2、根据自己的需要选择合适的安装目录
在这里插入图片描述
3. 根据自己需要修改
在这里插入图片描述
4. 安装中,慢慢等待
在这里插入图片描述

  1. 安装完成,点击完成
    在这里插入图片描述
  2. 自动打开了一个终端

在终端中输入或复制粘贴下列命令,它就会帮你万丈全部都MIngw-w64工具链。

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

在这里插入图片描述
这里直接回车,会安装全部工具。
在这里插入图片描述

将MinGW编译器添加到环境变量Path

1、搜索环境变量

在这里插入图片描述

2、将C:\msys64\mingw64\bin目录(根据自己的安装目录而定)添加到环境变量Path中

在这里插入图片描述

检查是否安装成功

在Windows命令行或者VS Code中的终端(本质是一个东西)中运行下列命令

gcc --version
g++ --version
gdb --version

如下图所示,我是在VS Code的终端中运行的命令。得到如下输出表示安装成功。如果输出”无法将“gcc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。“ 可以关闭VS Code软件,重新打开程序和终端再次输入或者使用Windows命令行(CMD)尝试运行命令,依然得不到期待的结果,就要检查环境变量配置是否正确以及是否成功安装工具。

在这里插入图片描述

创建并运行Hello World项目

1、 打开CMD运行下列命令,projects代表所有C/C++项目的根目录,helloworld代表当前项目;code . 命令的作用是使用vs code打开当前目录,也就是helloworld目录,这就是你的工作区workpalce,helloworld项目的根目录。

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

2、然后,选择信任。

在这里插入图片描述

3、添加源文件

点击下图中的按钮,创建源文件并命名为helloworld.c

在这里插入图片描述

4、添加源代码,并保存

#include <stdio.h>

int main(int argc,char* argv[])
{
	printf("hello world!\n");
	return 0;
}

5、运行helloworld.c,点击运行按钮

在这里插入图片描述

6、选择下图中的编译器(如果你编译的是*.cpp文件,那么就是C/C++: g++.exe build and debug active file… …)
在这里插入图片描述
7、运行成功

在这里插入图片描述

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

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

相关文章

【自然语言处理】情感分析(四):基于 Tokenizer 和 Word2Vec 的 CNN 实现

情感分析&#xff08;四&#xff09;&#xff1a;基于 Tokenizer 和 Word2Vec 的 CNN 实现本文是 情感分析 系列的第 444 篇&#xff0c;前三篇分别是&#xff1a; 【自然语言处理】情感分析&#xff08;一&#xff09;&#xff1a;基于 NLTK 的 Naive Bayes 实现【自然语言处…

服务发现Discovery和Eureka自我保护机制

目录 一、服务发现Discovery ​二、Eureka自我保护 &#xff08;一&#xff09;故障现象 &#xff08;二&#xff09;导致原因 &#xff08;三&#xff09;怎么禁止自我保护 三、Eureka2.0的停更 一、服务发现Discovery 对于注册进eureka里面的微服务&#xff0c;可以通…

外挂、破解软件理论与实战

外挂、破解软件理论与实战 1 理论 1.1 不同操作系统下的可执行文件 Windows【PE】 PE 格式&#xff0c;可移植可执行格式&#xff08;Portable Executable&#xff09;&#xff0c; 是 Windows 下的主要可执行文件格式。别被名字迷惑了&#xff0c;PE 文件必须是 Windows 下…

第四十六章 动态规划——状态机模型

第四十六章 动态规划——状态机模型一、通俗理解状态机DP1、什么是状态机2、什么是状态机DP二、例题1、AcWing 1049. 大盗阿福&#xff08;1&#xff09;问题&#xff08;2&#xff09;分析a.状态定义b.状态转移c.循环设计d.初末状态&#xff08;3&#xff09;代码2、AcWing 10…

C++学习/温习:新型源码学编程(三)

写在前面(祝各位新春大吉&#xff01;兔年如意&#xff01;) 【本文持续更新中】面向初学者撰写专栏&#xff0c;个人原创的学习C/C笔记&#xff08;干货&#xff09;所作源代码输出内容为中文&#xff0c;便于理解如有错误之处请各位读者指正请读者评论回复、参与投票&#xf…

01 课程简介、HTML标签【尚硅谷JavaWeb教程】

1. 课程体系设计 2. HTML标签 服务器—浏览器&#xff08;字符串"" &#xff09; demo01.html 1&#xff09;html语言是解释型语言&#xff0c;不是编译型 浏览器是容错的 2&#xff09;html页面中由一对标签组成&#xff1a; < html>称为 开始标签 < /htm…

Java基础语法——数组概念、数组内存图解(一个数组、二个数组)及二元数组的应用

目录 数组概述 数组定义格式 数组概念 数组的定义格式 数组的初始化 数组初始化概述 数组的初始化方式 Java中的内存分配 Java中一个数组的内存图解 Java中二个数组的内存图解 两个数组指向同一个地址的内存图解 数组操作中两个常见的小问题 二维数组 二维数组概述…

c++11 标准模板(STL)(std::forward_list)(十一)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

前端架构处理Cookie、Session、Token

1. Cookie Cookie 总是保存在客户端中。按在客户端中的存储位置&#xff0c;可分为内存 Cookie 和硬盘 Cookie。 内存 Cookie 由浏览器维护&#xff0c;保存在内存中&#xff0c;浏览器关闭后就消失了&#xff0c;其存在时间是短暂的。硬盘 Cookie 保存在硬盘里&#xff0c;…

Spring Boot、Spring MVC热部署

一、相关概述 JVM能够识别的是字节码.class文件每次重新运行都是一个重新编译的过程&#xff0c;也就是说会生成新的target字节码文件&#xff1b;但是每次修改了代码之后也必须要重新运行&#xff0c;这样比较麻烦。热部署就能较好地解决该问题&#xff0c;直接刷新页面就可以…

(22)go-micro微服务kibana使用

文章目录一 kibana介绍二 Kibana主要功能三 Kibana侧边栏四 Kibana安装1.拉取镜像2.运行命令3.查看是否运行五 Kibana使用六 Kibana图形化界面七 最后一 kibana介绍 Kibana &#xff1a;是一个开源的分析和可视化平台&#xff0c;旨在与 Elasticsearch 合作。Kibana 提供搜索、…

初识Nonebot2

文章目录什么是nonebot2&#xff1f;机器人工作流程WebSocket协议OneBot标准Nonebot2框架工作路径什么是nonebot2&#xff1f; 关于NoneBot2&#xff0c;我们先来引用一下官方文档的描述 NoneBot2是一个可扩展的 Python 异步机器人框架&#xff0c;它会对机器人收到的事件进行…

创建进度条 tqdm模块

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 创建进度条 tqdm模块 选择题 以下python代码最后输出错误的一项是? from tqdm import tqdm import time text{loss:0.2,learn:0.8} print(【开始执行】) for i in tqdm(range(50)…

python图像处理(图像缩放)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 图像缩放也是isp处理的一个基本功能。现在的camera像素越来越大,但是显示设备的分辨率是一定的,如果想把图像显示在显示器或者lcd上面,那就要符合对应显示设备的分辨率。一般来说…

【数据结构与算法理论知识点】5、图与贪心算法

5、图与贪心算法 逻辑结构 5.1、图的定义和术语 图&#xff1a;Graph(V,E) V:顶点&#xff08;数据元素&#xff09;的有穷非空集合&#xff1b; E:边的有穷集合。 **无向图:**每条边都是无方向的 有向图:每条边都是有方向的 完全图:任意两个点都有一条边相连 稀疏图:有很…

SSM 农产品销售管理系统

SSM 农产品销售管理系统 SSM 农产品销售管理系统 功能介绍 首页 用户登录注册 图片轮播 最新上架 农产资讯 产品商城 产品详情 在线留言 加入购物车 提交购买 评论 收藏 系统简介 系统公告 关于我们 友情链接 后台管理 登录 系统用户管理 修改密码 用户权限管理 产品信息管理…

Hadoop基础之《(4)—Yarn概述》

一、什么是Yarn YARN&#xff08;Yet Another Resource Negotiator&#xff09;&#xff0c;简称YARN&#xff0c;另一种资源协调者&#xff0c;是Hadoop的资源管理器。 二、Yarn的组成 Yarn有两个核心组件&#xff0c;ResourceManager和NodeManager。 1、ResourceManager&am…

UE Operation File [ Read / Write ] DTOperateFile 插件说明

蓝图直接操作文件的功能节点 可以获取文件基本信息以及读写文件 目录 1. File Exists 2. File Size 3. File Delete 4. File Is Read Only 5. File Move 6. File Save By String 7. File Save By Array String 8. File Save By Array Binary 9. File Append By Strin…

Jenkins(一):什么是Jenkins?

目录 一、Jenkins是什么&#xff1f; 二、安装步骤 1.访问官网&#xff0c;下载安装包 2.解锁Jenkins 3.设置Jenkins的工作目录&#xff08;可选&#xff09; 总结 前言 近期在研究自动化部署&#xff0c;在这里对Jenkins做个笔记。 一、Jenkins是什么&#xff1f; Jenk…

数据挖掘,计算机网络、操作系统刷题笔记36

数据挖掘&#xff0c;计算机网络、操作系统刷题笔记36 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;orac…