当前位置:   article > 正文

使用VS Code 编译运行C/C++程序_vs code c语言编译

vs code 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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

运行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
			}
		}
	]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在以上的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"
        }
    ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

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

调试C++文件

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

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

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


总结

VS Code运行C/C++程序,还是挺方便的(借助 Code Runner一键运行),就是感觉调试麻烦了点。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/65842
推荐阅读
相关标签
  

闽ICP备14008679号