mingw c++ 命令行_VS Code 编译和调试C/C++程序也可以这么爽

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

69f2d97fe09f202aec1a3064eb8fe62c.png

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

dd2c0188ec6ece888fcd4f7de7683502.png

由于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

4a06c5b711038ec2e6aab11c8305916e.png

这里我采用了离线安装的方法安装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),并将其解压。

62a00dff3c3f3c028cc026b530433f10.png

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

ef94d07082429e94f66bd2e420716554.png
c29574c2bb6ed4d51dd54462d7f4bab6.png

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

g++ --versiongcc --versiongdb --version
2aab282d5e8c7123487df9cd333055d7.png

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

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

ef71d00b44af9950b3832b953ac63b38.png

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

0cf426ca6441d271383c7e18e3032d45.png

选择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:mingw64bing++.exe",            "args": [                "-g",                "${file}",                "-o",                "${fileDirname}${fileBasenameNoExtension}.exe"            ],            "options": {                "cwd": "${workspaceFolder}"            },            "problemMatcher": [                "$gcc"            ],            "group": {                "kind": "build",                "isDefault": true            }        }    ]}

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

891247e6644eb23c1eed6f4cfa6589f8.png

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

9db095d9e5cde7544e32dd8dbaa84109.png

接下来我们再来看看,怎么去调试程序呢?我们切回到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:mingw64bingdb.exe",            "setupCommands": [                {                    "description": "为 gdb 启用整齐打印",                    "text": "-enable-pretty-printing",                    "ignoreFailures": true                }            ],            "preLaunchTask": "C/C++: g++.exe build active file"        }    ]}
7b8f7f0ce8e64b83fd8ac476f66a291d.png

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

e0c582a63982ecd4bc81f4cb6c4a4780.png

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

6a1427b01c16ff61198941c333575191.png

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

f58a7d3fef0fab569cc075f072f8269a.png

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

b6f22c39f548a1aa13f2aa87d6437d71.png
4afbb954a3998a6dbc22f712c824087a.png

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

aecc33756129fa71e1bc3c12fe0ec950.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值