Windows 下vscode 配置 C/C++环境

Windows 下vscode 配置 C/C++环境

1.安装vscode中C/C++ 插件

2.安装编译调试环境

目前windows下调试仅支持 Cygwin 和 MinGW,mingw-w64 ,这里使用MinGW ,mingw-w64

http://mingw-w64.org/
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/

3.配置系统环境

右键'我的电脑' - 属性 环境变量 在系统变量中找到path 点击编辑 然后新建 然后输入MinGW下面bin路径

保存后打开 cmd 输入 gcc -v 查看是否设置成功

4.launch.json 和tasks.json 文件的配置 这两个文件放到.vscode文件里面

launch.json

{
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb) Launch",
            "preLaunchTask": "build",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/MinGW/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            },
            "windows": {
                "command": "g++",  // c++编译器 如果是要用c编译器的话用 gcc 
                "args": [
                    "-g",
                    "\"${file}\"",
                    "-o",
                    "\"${fileDirname}\\${fileBasenameNoExtension}.exe\""
                ]
            }
        }
    ]
}

MingGW64 多个版本区别
DWARF:DWARF- 2(DW2)EH ,这需要使用DWARF-2(或DWARF-3)调试信息。 DW-2 EH可以导致可执行文件
略显膨胀,因为大的调用堆栈解开表必须包含在可执行文件中的
setjmp / longjmp(SJLJ)。基于SJLJ的EH比DW2 EH慢得多(在没有
异常时会惩罚甚至正常执行),但是可以在没有使用GCC编译的代码或没有调用堆栈的代码上工作
结构化异常处理(SEH) (Structured Exception Handling)Windows使用自己的异常处理机制。

离线下载 这里选择下载 x86_64-win32-seh

posted @ 2019-03-16 17:14  野生中的码农  阅读(8093)  评论(0编辑  收藏  举报