VSCode配置C\C++环境

在VSCode上安装C\C++扩展

  1. 在扩展一栏里面搜索C\C++,然后点击安装即可:
    在这里插入图片描述
  2. 在C\C++扩展中进行配置:
    ctrl+shift+P快捷键,然后输入“ui”即可找到该选项。
    在这里插入图片描述
    在C\C++扩展的UI界面配置编译器位置,以及合适的IntelliSence模式:
    在这里插入图片描述

下载WinGW-w64

  1. 下载网址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
  2. 文件区别:

文件清单
x86_64-posix-sjlj
x86_64-posix-seh
x86_64-win32-sjlj
x86_64-win32-seh
i686-posix-sjlj
i686-posix-dwarf
i686-win32-sjlj
i686-win32-dwarf

释义1:

  • DWARF:一种带调试信息(DWARF- 2(DW2)EH)的包, 所以比一般的包尺寸大,仅支持32位系统
  • SJLJ:跨平台,支持32,64位系统,缺点是:运行速度稍慢,GCC不支持
  • SEH: 调用系统机制处理异常,支持32,64位系统,缺点是:Gcc不支持(即将支持)

释义2:

  • x86_64: 简称X64,64位操作系统
  • i686: 32位操作系统 (i386的子集),差不多奔腾2(1997年5月)之后的CPU都是可以用的;

释义3:

  • posix: 启用了C++ 11 多线程特性
  • win32: 未启用 (从时间线上正在尝试也启用部分 Threading)

区别:

  • 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使用自己的异常处理机制。

**注:上述对WinGW各种文件的解释来源于:https://www.pcyo.cn/linux/20181212/216.html **

  1. 选择合适的文件(离线安装的更快)下载,然后解压缩,并且将解压缩的地址下的bin目录添加到环境变量中:
    在这里插入图片描述
  2. 检测是否安装成功 ( 在CMD中测试 ):
g++ --version
gdb --version

在这里插入图片描述

创建C\C++文件

在VSCode中关联一个工作目录(文件夹),该路径下会自动生成.vscode目录。创建一个cpp文件,在其中写一个hello world!的代码:

#include<stdio.h>
#include<stdlib.h>
int main(){
    
    
    printf("hello world!");
    system("pause");
    return 0;
}

注意:这里添加 #include<stdlib.h> 和 system(“pause”); 是为了防止VScode弹出的控制台闪退

按F5可以运行文件,并且在.vscode下应该有三个文件:launch.json、 c_cpp_properties.json、 task.json
在这里插入图片描述

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": "${fileDirname}",
            "environment": [],
            "externalConsole": true, // 此处默认为false不弹出控制台窗口,修改为true,使其弹出控制台窗口
            "MIMode": "gdb",
            "miDebuggerPath": "F:\\MinGW\\bin\\gdb.exe",
            "setupCommands": [
                {
    
    
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

在launch.json文件中,把midebuggerpath改成dbg的路径,dbg在MinGW安装路径下的bin文件夹中,然后将"externalConsole": false的值建议改成true,这个是运行的时候会不会弹出黑框,默认是不弹出。

扫描二维码关注公众号,回复: 15102806 查看本文章

测试文件运行成功之后显示(F5运行):
在这里插入图片描述
到这里就可以正常运行了!!


进度更新:
后面又开了一个项目,然后发现需要重新配置,而且目录下的.vscode中的launch.json文件中的配置是空的,点击添加配置中的选项和原来的有一些区别,并且之前更改过的值还需要重新配置。到这里我问了个大佬,然后给我了这篇文章:https://zhuanlan.zhihu.com/p/92175757?utm_id=0,写的很是详细,简单来说下载Native Debug扩展就可以搞定:
在这里插入图片描述
试了一下,非常好用!!!感觉前面的都白折腾了!!

猜你喜欢

转载自blog.csdn.net/weixin_42992706/article/details/128938902