使用VS Code 编译运行C/C++程序

article/2025/10/6 0:51:40

文章目录

  • 安装C/C++编译器
    • 验证C/C++开发环境
    • 安装插件
  • 创建C++文件
    • 运行C++文件
  • 调试
    • 创建tasks.json文件
    • 构建C++文件
    • 创建launch.json文件
    • 调试C++文件
  • 总结


安装C/C++编译器

macOS与主流的发行版Linux系统都自带了C/C++编译器(gcc和g++),而对于Windows,我们需要通过Mingw-w64来获得C/C++编译器,安装步骤如下:

  1. 访问https://sourceforge.net/projects/mingw-w64/files/,选择MinGW-W64 GCC最新版本中的x86_64-posix-seh进行下载。
  2. 下载完成后,得到的是一个7z文件格式的压缩包。将文件解压,并注意解压的路径不能包含空格、中文以及其他特殊字符。
  3. 在解压出的文件夹中,找到g++.exe文件所在的bin文件夹的路径,把路径添加到PATH环境变量中。

验证C/C++开发环境

打开命令行,在命令行中输入 gcc --version,以验证C编译器是否安装成,输入g++ --version已验证C++编译器是否安装成功。


安装插件

打开vs code,在内置插件管理视图中,搜索并安装 C/C++ 插件与Code Runner插件。

  • C/C++插件:由微软官方开发并维护。
  • Code Runner插件:由韩骏老师编写,一键运行代码,支持40多种语言。

创建C++文件

创建一个文件夹,使用vs code打开这个文件夹。点击新建文件,然后创建一个名为helloworld.cpp的文件,文件创建后,会自动在编辑区域内打开。(以C++为例,C语言同理)
在创建的helloworld.cpp文件中输入以下C++代码:

#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{vector<string> msg{"Hello", "C++", "World", "from", "VS Code"};for (const string &word : msg){cout << word << " ";}cout << endl;
}

运行C++文件

我们下载安装的Code Runner插件可以一键运行多种语言,在helloworld.cpp文件的右键菜单中选择Run Code命令或者点击右上角Run Code按钮,可以运行C++代码,在输出面板可以看到代码的运行结果。

调试

以windows系统为例,Linux与macOS同理。

创建tasks.json文件

首先,我们需要创建一个tasks.json文件来告诉vs code如何构建C++程序。
打开helloworld.cpp文件。在顶部的菜单栏中选择终端->配置默认生成任务->选择C/C++:g++.exe build active file选型。

在这里插入图片描述
选择好构建任务后,vs code会在vscode文件夹中创建一个tasks.json文件。
tasks.json文件的内容如下:

{"version": "2.0.0","tasks": [{"type": "shell","label": "C/C++: g++.exe build active file","command": "C:\\MinGW\\bin\\g++.exe","args": ["-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${workspaceFolder}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}]
}

在以上的tasks.json文件内容中,command属性定义了编辑器的路径,也就是g++.exe的路径,args数组定义了传递给C++编译器的参数。

构建C++文件

  1. 打开helloworld.cpp文件
  2. 通过快捷键Ctrl+Shift+B或在菜单栏中选择 终端—>运行生成任务。
  3. 当构建任务开始后,vscode会打开一个集成终端并执行构建命令。当构建任务结束后,集成终端会
    显示如下输出,并且生成一个helloworld.exe文件。
    在这里插入图片描述
  4. 打开一个新的集成终端,在集成终端输入并执行.\helloworld.exe,就能运行该C++文件。

在这里插入图片描述

创建launch.json文件

我们需要配置一个launch.json调试配置文件。
在顶部菜单栏中选择 运行->添加配置,然后选择C++(GDB/LLDB)。然后选择g++.exe build and debug active file选项。(g++.exe 生成和调试活动文件)
在这里插入图片描述
选择好调试配置后,Visual Studio Code会在vscode文件夹中创建一个launch.json调试配置文件。
launch.json文件中的内容如下所示:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "g++.exe - 生成和调试活动文件","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "C/C++: g++.exe build active file"}]
}

在上面的launch.json文件中,program属性指定了要调试的程序。

调试C++文件

首先,打开要调试的文件,在相应的代码行处按下F9快捷键添加断点,或者单击编辑区域左侧的边槽添加断点。添加断点后,左侧会出现一个红色圆点。
在这里插入图片描述
接下来,通过以下任意一种方式启动C++调试器。

  • 在顶部的菜单栏中 选择 运行->启动调试
  • 使用F5快捷键。
  • 通过左侧的活动栏切换到调试视图,点击绿色的调试按钮。

启动C++调试器后,C++调试器会停在断点处,并打开集成终端。在左侧的调试视图中,可以看到与当前代码相关的变量信息。
在这里插入图片描述
单击调试工具栏中的红色停止按钮,或者使用Shift+F5快捷键,就能退出调试。


总结

VS Code运行C/C++程序,还是挺方便的(借助 Code Runner一键运行),就是感觉调试麻烦了点。

http://chatgpt.dhexx.cn/article/5VHkHCbM.shtml

相关文章

【C++】各版本标准与gcc、vs编译器对应关系

c常用的编译场景一般是linux或windows&#xff0c;linux通常使用Mingw中的gcc/g编译器&#xff0c;Windows通常使用visual studio IDE中的微软编译器&#xff0c;随着c11及以上标准的普及&#xff0c;再编译器遇到这些新特性的时候&#xff0c;如果编译器版本过低&#xff0c;那…

Visual Studio Code(VSCode) 编辑/编译/调试 C++ 代码

前言 最近想要切换编辑工具&#xff0c;之前工作中使用过 Source Insight&#xff0c;Eclipse&#xff0c;CLion 来写 C 代码。目前来说 Source Insight 已经非常古老&#xff0c;只有编写代码还说得过去&#xff0c;编译、调试方面都不行。Eclipse 使用的时间最长&#xff0c;…

你是真的“C”——Visual Studio 2022(VS2022)编译器 -—实用调试技巧

你是真的“C”——Visual Studio 2022&#xff08;VS2022&#xff09;编译器 -—实用调试技巧&#x1f60e; 前言&#x1f64c;1. 什么是bug&#xff1f;&#x1f64c;2. 调试是什么&#xff1f;有多重要&#xff1f;&#x1f64c;2.1 调试是什么&#xff1f;2.2 调试的基本步骤…

c/c++ ------visualstudio编译器的使用

一个编译器而已 visualstudio是一个编译器而已(简称vs) 可视化的代码编译器&#xff1b;可视化的代码编辑器&#xff1b;方便的代码调试器&#xff1b;做好了windows操作系统拥有的库文件接口&#xff1b; 养成一个好的习惯&#xff1a; 编译目录&#xff1b;源码目录&#xff…

VS编译器的简单操作

目录 c语言的百度定义​ vs编译器的简单使用 第一个代码 什么是main函数 当运行结果一闪而过怎么办 c语言的百度定义 vs编译器的简单使用 要写一个代码首先要创建一个新项目&#xff0c;点击创建一个新项目&#xff0c;然后就有这样一个画面 语言选择c&#xff0c;选择空项目…

编译器的差别gcc和VS

问题的由来是我写了一个排序算法程序&#xff0c;在gcc编译器下运行&#xff0c;发现结果有问题&#xff0c;然后开展的寻找错误解决问题 这是我写的一个简单的插入排序算法 #include <stdio.h>//直接插入法排序函数主体 //参数1&#xff1a;待排序的序列 //参数2&…

Visual Studio编译器使用总结

经历过各种坑。安装坑&#xff0c;使用坑&#xff0c;配置坑。 今天抽空把总结写一下。 下面例子为vs2015举例。 大部分公司因为时间的问题&#xff0c;基本项目都是从vs2015版本进行开发的。后续为了统一&#xff0c;也建议大家用vs2015创建工程。 一、安装篇 vs2017-19版本…

c语言的编译器vs2019的安装及简单实用

1.编译器的介绍与安装 刚开始学习c语言呢&#xff0c;少不了的就是对语言编辑和编译。简单来说&#xff0c;我们就是需要一个编译器来编辑和运行你的代码。 那么有什么好的编译器值得推荐呢&#xff1f;那就有很多了。但是比较广泛使用的编译器有Clang、GCC、MSVC、devc。这里我…

VS编译器常见的问题

VS编译器常见的问题 前言问题一——VS2013控制台一闪而过解决方法1解决方法2 问题二——scanf函数报错解决方法 问题三——新建多个源文件引起的报错解决方法1解决方法2 前言 我们在开始学习C语言时&#xff0c;会遇到各种编译器&#xff0c;VS&#xff0c;Dev-C&#xff0c;V…

linux如何对mysql进行定时备份并定时清理3天之前的备份数据

linux如何对mysql进行定时备份并定时清理3天之前的备份数据 一.Linux对mysql进行定时备份 1.确保Linux上是否已经安装了mysql以及crontab 安装mysql可参考:https://blog.csdn.net/m0_51285952/article/details/123371653 安装crontab可参考:https://blog.csdn.net/hukai0q/…

docker定时备份mysql-定时备份docker中mysql的数据

一、概念 方法一&#xff1a;备份是通过如下命令实现 docker exec -it mysql&#xff08;镜像号&#xff09; mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -B test1&#xff08;数据库名称&#xff09;&#xff08;中间是有一个空格的&#xff0…

Windows系统下如何定时备份MySQL数据库

Windows系统下如何定时备份MySQL数据库 使用mysqldump备份sql文件 假设mysql环境 MySQL安装位置 D:\mysql\mysql-5.7.30-winx64需要备份的数据库名称 springMySQL数据库账号 rootMySQL数据库密码 123456数据库备份地址 D:/mysqlBackup/ 则脚本按照下面写法&#xff1a; echo of…

mysql设置定时备份

不管是什么类型的数据库&#xff0c;我们都需要定时的备份&#xff0c;以便在出问题时可以及时恢复&#xff0c;减少损失。sqlserver的备份很简单&#xff0c;sqlserver自带&#xff0c;这里主要给大家分享下mysql的自动备份如何设置。 1.工具&#xff1a;navicat2.数据库:mys…

【数据库】定时备份mysql数据库

目录 一、创建放备份的目录二、编写脚本三、创建软链接四、赋予该脚本可执行权限五、测试脚本是否能正常执行六、进入备份文件夹查看是否正常备份七、安装cron服务八、创建定时备份任务 一、创建放备份的目录 cd / 进入根目录 mkdir backup 创建备份…

Mysql数据库每天定时备份

1.先检查安装crontabs yum install crontabs 2.在home目录下指定路径新建文件夹 3.新建执行脚本,在里面写入命令 touch mysql_backup.sh shell脚本如下&#xff1a; #!/bin/bash #保存备份个数&#xff0c;备份14天数据 number14 #备份保存路径 backup_dir/home/tjgeo/bac…

Mysql定时备份

linux下如何实现mysql数据库每天定时自动备份 由于客户要求&#xff0c;需要将数据库进行每天定时自动备份&#xff0c;所以网上找了各种方式就行了测试&#xff0c;遇到很多坑&#xff0c;特此记录下来&#xff0c;步骤是东拼西凑的&#xff0c;虽然也是网上找的&#xff0c;…

Windows下 mysql定时备份

** 使用mysqldump进行数据库备份 ** mysql数据库自带备份命令mysqldump,可对数据库进行备份操作 最简单的备份是将数据库备份至本地&#xff0c;生成 **.sql文件 编写备份脚本文件 &#xff08;创建一个txt文件&#xff0c;写入批处理脚本&#xff0c;再将文件的后缀改为.ba…

MySQL定时备份数据库(全库备份)

MySQL定时备份数据库&#xff08;全库备份&#xff09; 一、MySQL数据备份 1.1、 mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法: …

mysql定时自动备份数据库

我们都知道数据是无价&#xff0c;如果不对数据进行备份&#xff0c;相当是让数据在裸跑&#xff0c;一旦服务器出问题&#xff0c;只有哭的份了。下面将介绍mysql数据库的自动备份&#xff0c;大家可根据情况自行选择将备份数据存放在哪里。 第一种&#xff0c;数据跑在服务器…

windows系统mysql定时备份

一.介绍 本文章主要介绍了windows系统下如何创建mysql定时备份任务&#xff0c;目的&#xff1a;一是数据无价&#xff0c;一旦数据丢失&#xff0c;功亏一篑&#xff1b;而是将重复性的工作交给机器来做&#xff0c;省去人工处理成本。 二.创建bat任务脚本 1.新建txt文档 2.打…