专业的编程技术博客社区

网站首页 > 博客文章 正文

VS Code 编译和调试C/C++程序也可以这么爽

baijin 2024-12-23 10:25:26 博客文章 8 ℃ 0 评论

本文为大家介绍,如何在VS Code上安装一个C/C++编译器,为VS Code 装上一双会飞的翅膀,废话不多说,我们开始准备起飞。



首先,安装好VS Code之后,需要给其安装一个C/C++扩展。在扩展库里搜索 “c++”。



由于VS Code只是个编辑器,下面就是安装C/C++编译器了,这里我们选择Mingw。它的全称是Minimalist GNU on Windows,它将开源gcc, g++编译器移植到Windows平台,并且包含了Win32 API,从而可以编译出能在Windows平台下运行的可执行程序。


Mingw是托管在SourceForge 上的,可以从SourceForge 中下载Windows Mingw-w64 installer,通过安装器安装。不过,在国内这个安装器好像被墙掉了,在安装的过程中会出现“cannot download repository.txt”的报错,有条件的可以使用VPN安装。

Windows Mingw-w64 installer下载地址:

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download



这里我采用了离线安装的方法安装Mingw,不过下载速度会有些慢,请耐心等待。

离线包下载地址:

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/sjlj/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z/download


下载完成后,会得到一个压缩包(x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z),并将其解压。



配置系统环境变量,将bin目录添加到环境变量Path中。




环境变量配置完成后,我们可以打开命令行窗口查看g++/gdb版本。

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


安装配置成功后,我们就可以开心的写个hello world 庆祝一下了!


新建一个文件夹hello,使用VS Code把文件夹打开,在工作空间新建一个cpp文件helloworld.cpp,并添加代码。



下面该如何编译呢?在菜单栏选择 Terminal > Configure Default Build Task,将会出现一个下拉列表。



选择g++.exe build active file,在工作空间的.vscode目录将会创建一个task.json文件。


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

回到hellowork.cpp文件,使用快捷键Ctrl+Shift+B,将会执行编译任务,在下方的Terminal也会有相应的信息打印。



再新建一个Terminal,执行编译生成的可执行文件helloworld.exe.



接下来我们再来看看,怎么去调试程序呢?我们切回到helloworld.cpp文件,设置好断点,按F5快捷键或者 Run > Start Debugging,就会进入调试模式,并会在.vscode目录下生成一个launch.json文件。

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: 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:\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}


同时,我们可以使用调试控制面板控制程序的执行流程。



那我们再多写几行程序,看看调试效果。我们可以看到当执行到数组array赋值语句后,左侧变量栏里的array值会有相应的变化,会显示为初始值。



利用调试控制面板,让程序进入循环,当执行完array重新赋值语句后,左侧变量栏里的array值也会相应的更新。



如果想要查看其它变量的值,可以在代码里右键,会弹出一个选项菜单,选择Add to Watch,在左侧Watch栏里将会列出这个变量和其值。




最后在看一下最终的目录结构。另外,还有更多的功能等待大家去发现,赶紧行动起来吧。


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表