cpp在vsCode中的编译运行与调试

cpp在vsCode中的编译运行与调试

1、MinGW-w64下载

  • 进入MinGW-w64下载地址:https://www.mingw-w64.org/downloads/。往下划找到下载入口,进入
    在这里插入图片描述
  • 在https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/,往下划找到
    在这里插入图片描述
    我是64位的Windwos系统,所以我选择x86_64-win32-seh下载。
  • 倒计时完毕,开始下载

在这里插入图片描述
详细的下载指导

  • 把MinGW压缩包解压到你自己喜欢的目录里边就好。然后配置环境变量即可:

1、打开MinGW中的bin文件夹,复制路径。我的bin路径为:C:\Program Files\mingw64\bin
2、把这个路径加到环境变量的path中即可。
3、随后在win + r,输入cmd。打开命令行窗口
4、输入where gcc。出现C:\Program Files\mingw64\bin\gcc.exe。即MinGW配置成功!

2、打开vsCode安装C++插件

在这里插入图片描述

3、配置编译器

在一个你喜欢的位置新建一个存放cpp项目的文件夹,并用vsCode打开该文件夹,创建一个与文件夹名称相同的cpp文件。
在这里插入图片描述

设置编译选项

鼠标停留在当前的cpp文件中,按Ctrl+Shift+p快捷键,输入c/c++
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4、编译配置(配置tasks.json)

回到刚刚创建的cpp文件中,在导航栏点击terminal找到Configure Default Build Task…
在这里插入图片描述
在出现的弹窗中,选择C/C++:g++.exe build active file
在这里插入图片描述
此时在项目文件夹中出现.vscode文件夹。生成的cpp编译的配置文件tasks.json就在其中。它相当于编译指南,在该项目编译程序之前会先看一下tasks.json中的编译设置。在这里插入图片描述

//以下是我生成的tasks.json
{
	"version": "2.0.0",
	"tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "compiler: \"C:\\Program Files\\mingw64\\bin\\g++.exe\""
        }
    ]
}

编译单个.cpp文件

来到要进行编译的mytest.cpp文件,在导航栏中点击Terminal,找到Run Build Task。就会根据我们的tasks.json中的编译设置,对cpp文件进行编译,生成mytest.exe程序。默认生成的tasks.json只能编译一个cpp文件
在这里插入图片描述
运行编译后的mytest.exe程序。Ctrl + `,打开终端。输入./可执行文件名.exe。或 直接输入可执行文件名.exe
在这里插入图片描述

编译多个cpp文件

如果说,我们的mytest项目文件夹下有多个cpp文件,那么需要修改tasks.json中的参数:
默认的tasks.json文件
在这里插入图片描述
修改:1、可以编译项目文件夹下多cpp文件;2、输出的可执行文件名称为项目文件夹名称。
${file}改为${workspaceFolder}\\.*cpp
${fileDirname}\\${fileBasenameNoExtension}.exe改为${workspaceFolder}\\${workspaceRootFolderName}.exe


{
	"version": "2.0.0",
	"tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\Program Files\\mingw64\\bin\\g++.exe",//编译程序
            "args": [//程序参数
                "-fdiagnostics-color=always",
                "-g",
                "${workspaceFolder}\\.*cpp",//需要编译的文件名称
                "-o",
                "${workspaceFolder}\\${workspaceRootFolderName}.exe"//编译后的可执行文件名称
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "compiler: \"C:\\Program Files\\mingw64\\bin\\g++.exe\""
        }
    ]
}

调试配置(配置 launch.json)

1、在侧边栏找到debug,创建launch.json文件
2、然后选择C++(GDB/LLDB)
在这里插入图片描述
在.vscode文件夹下出现launch.josn文件在这里插入图片描述
添加launch.json文件的配置,在导航栏找到Run,点击Add Configuration
在这里插入图片描述
选择C/C++:(gdb) Launch
在这里插入图片描述
默认的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": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            //"program": "需要调试的可执行文件名称",这里与我们上边设置tasks.json文件中编译后的可执行文件名称相同
            "program": "enter program name, for example ${workspaceFolder}/a.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            //"miDebuggerPath": "Mingw64的bin目录下gdb.exe路径",
            "miDebuggerPath": "/path/to/gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }


    ]
}

修改
1、 “program”:“调试的可执行文件的名称”,这里与我们上边设置tasks.json文件中编译后的可执行文件名称相同
2、“miDebuggerPath”: “Mingw64的bin目录下gdb.exe路径”,

{
    // 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": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            //这里与我们上边设置tasks.json文件中编译后的可执行文件名称相同
            "program": "${workspaceFolder}/${workspaceRootFolderName}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            //Mingw64的bin目录下gdb.exe路径
            "miDebuggerPath": "C:/Program Files/mingw64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }


    ]
}

开始调试

配置完Launch.json文件后,我们可以打断点开始调试。

F5:启动调试
F9:打断点/取消断点
F11:逐语句调试
F10:逐过程调试
在这里插入图片描述

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在VSCode进行交叉编译和远程调试,你需要安装一些扩展和做一些配置。下面是一些步骤供你参考: 1. 安装VSCode:首先,确保你已在本地计算机上安装了VSCode编辑器。 2. 安装适当的扩展:在VSCode,你需要安装以下扩展: - Remote Development:这个扩展可以帮助你远程连接到目标设备进行开发和调试。 - C/C++:这个扩展提供了用于C/C++开发的工具链和功能。 3. 配置SSH连接:将目标设备的SSH连接配置到VSCode。你可以在VSCode的命令面板使用"Remote-SSH: Connect to Host"命令来配置SSH连接。 4. 创建工作区:在VSCode创建一个新的工作区,并将你的源代码文件添加到工作区。 5. 配置交叉编译器:在工作区,创建一个名为`.vscode`的文件夹,并在该文件夹创建一个名为`c_cpp_properties.json`的文件。在这个文件,可以指定交叉编译器的路径和其他相关设置。例如,对于ARM架构,你可以指定`"compilerPath": "/usr/bin/arm-linux-gnueabihf-gcc"`。 6. 配置调试器:在工作区,创建一个名为`.vscode`的文件夹,并在该文件夹创建一个名为`launch.json`的文件。在这个文件,你可以配置远程调试器的设置。例如,对于GDB调试器,你可以指定以下配置: ```json { "version": "0.2.0", "configurations": [ { "name": "Remote GDB", "type": "cppdbg", "request": "launch", "program": "/path/to/your/executable", "cwd": "${workspaceFolder}", "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "targetArchitecture": "arm" } ] } ``` 在这个配置,你需要将`program`指定为你要在目标设备上运行的可执行文件的路径。 7. 开始远程调试:连接到目标设备后,你可以通过单击VSCode底部的调试按钮,然后选择你在`launch.json`配置的调试器来启动远程调试。 这些步骤是一般的指导,具体的设置可能因你所使用的目标设备和编译器而有所不同。请根据你的需求和环境进行相应的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值