• [全网最全 C语言] VSCode 安装与配置(MSYS2的mingw-w64/GCC 编译环境)


    本文地址:  https://www.cnblogs.com/yucloud/p/vs_code_config.html

    力求完美、详细,望各位留言指点

     目前已经开始添加原理解释,希望大家能分享一些gcc gdb C语言等方面优秀链接

    本博文被多次转载,而转载文章并不会更新,所以请以本博文为准。另为了表明本博文为原创且有更新,因此博文标题时有变动。

      后续会慢慢增添内容,修正不足。  希望这篇文章能带大家入坑。

                    ------------- 博客园  蓝天上的云℡       YuCloud  https://yucloud.cnblogs.com

     Ps.

    2021年8月2日 更新文章内容,按照 MSYS2 官方教程和VSCode最新版本修正

    2021年消息: VSCode官方团队已推出 Makefile Tools 插件,从此支持Makefile项目(包括Linux Kernel)       附上:官方使用说明

    2019年消息:VSCODE支持全局配置,C/Cpp插件也支持UI界面设置。(但本质是通过图形界面配置JSON)

    官方Issues 原话如下图

    请耐心看完,这能让您充分了解和理解什么是IDE, 【调试、运行和命令行】,以及系统与程序间的关系

    如果只是想找三个文件的配置方法,请点下面导航。(其实这三个文件配置并不难,难的是没用过gcc g++ gdb,当你稍微地使用之后,配置自然是水到渠成)

    基本上各平台配置内容的最大差异在于那个include路径,只要写对路径,其他都是小问题


     本文理论上全平台GCC通用,其他编译平台请自行变通,毕竟会使用其他平台已经不是新手了。

    怎么查看gcc默认的include路径 :

         Linux下是                 gcc -v -x c -E /dev/null 

         Windows下是           gcc -v -x c -E NUL

    然后找到gcc编译流程的日志里输出内容中的 #include <...> search starts here:

    这里可以参考韦东山的嵌入式编译视频(GCC通用的,分析日志):

    https://www.bilibili.com/video/BV1w4411B7a4?p=47&t=470

    附上新版UI配置界面的图

     大同小异


     目录书签导航

    1. 下载安装(2个软件)
    2. 配置MSYS2环境     && 换源
    3. 安装Mingw-w64编译工具
    4. 变量配置
    5. VS Code与MinGw搭配使用

    •  强烈建议先初步学会使用gcc(mingw64)等命令,这样配置才不会一脸懵逼

    1,下载安装(2个软件)

    VS Code官网:https://code.visualstudio.com/        ps: system installer和user installer的区别就在用于为所有用户/单用户安装。

    MSYS2官网:https://www.msys2.org                     我电脑系统是Windows 10   x64,所以选择

    2,配置Msys2环境

    请搭配这篇文章使用本博文:https://zhuanlan.zhihu.com/p/33751738

    MSYS2 是一个在WIndows下提供了 GNU工具链的软件包管理工具,我们用它来很方便地下载安装到最新的编译器

    在开始菜单启动MSYS2

    输入命令 以更新MSYS2软件列表数据库:(当提示没有更新时即是最新,下同)

    pacman -Sy 

    更新成功会提示你关闭窗口

    如果你熟悉vi之类的使用,下载速度太慢,请见 https://mirrors.ustc.edu.cn/help/msys2.html

    再同步软件源并更新核心软件包

    pacman -Syu

    再更新其他基本软件包

    pacman -Su

    3,安装Mingw-w64编译工具

    再安装 Mingw64 编译工具链

    pacman -S --needed base-devel mingw-w64-x86_64-toolchain

     安装后打开开始菜单里MSYS2 64bit 的"MSYS MinGw 64-bit“,输入gcc -v回车查看gcc版本号,正常则代表安装成功,然后关闭即可

     这时就已经可以使用 gcc 和 make 命令了。

     

    可选

    当然还有其他可选的常用开发环境与工具(初学者不建议,有需要的进阶用户可以安装)

    pacman -S  base-devel  git  mercurial  cvs  wget  p7zip  perl  ruby  python2

    32位Mingw-w64:

    pacman -S  mingw-w64-i686-toolchain

     64位Mingw-w64:

    pacman -S  mingw-w64-x86_64-toolchain

    4,变量配置

     打开系统环境变量配置

    可以用:win键+右上角的pause键,笔记本用Win+Fn+Pause,或者直接右击我的电脑-属性

    然后点高级系统设置-——环境变量(N)

    双击系统变量的Path新建 

    C:msys64mingw64in
    

    再添加环境变量 HOME

    C:msys64home<用户名>
    

    据说这个变量很有用,后面配置要多次用到。(注意:<用户名>尖括号表示该内容要填你自己的安装用户名,如我该目录下的是kui就应该填C:msys64homekui

    (这里的C:msys64是Msys2的默认安装路径,如果路径不一样,请自行变通)

    重启一下电脑让变量生效(2018年: 变量好像是及时生效的,只要重开cmd窗口就行,变量会在新窗口里生效)

    然后打开cmd,输入(回显中有HOME和Path变量即可)

    set |findstr msys64
    

     或者

    set HOME && Path
    

     

    再输入(回显中有版本号即可)

    gcc -v

    那么变量配置完成

    5,VS Code与MinGw搭配使用

    请搭配VS Code官网使用说明:https://code.visualstudio.com/docs/languages/cpp

    因为官网有可能更新,且本文不一定完全正确,因此建议读者分屏(WIn键+方向键)同时阅读本文和官网说明

    (看不懂英文可以挂梯子使用谷歌网页翻译)

    打开Vscode,会提示你打开一个工作目录(菜单栏 File - Open folder选择你想要项目放置的工作目录即可)

    然后新建文件,写好c语言的helloword代码并保存为test.c 

    1 #include <stdio.h>
    2 #include <stdlib.h>
    3 
    4 int main(void) {
    5     printf("HelloWorld!");
    6     system("pause");
    7     return 0;
    8 }
    test.c

    安装C / C ++扩展(没有内置编译器) 

    • 单击补充工具栏(侧边栏)上的“扩展视图”图标。
    • 搜索 C/C++ 。
    • 单击“ Install” ,然后单击“ reload to active”

    然后任选一种方式配置三个脚本:

     以下配置提供两种方式,任选其一即可。一种通过UI界面配置(推荐新手使用),一种通过JSON脚本配置

    通过图形界面UI配置

    在VS Code里按快捷键 左Ctrl+左Shift+P 【是Shift而非Alt】键入并运行

    C/C++:Edit Configurations (UI)

     会看到这个界面,这里是 与编程语言的编译环境有关 的配置

     然后我们要去找到这些信息填入,使得VSCode可以和编译器梦幻联动

    快捷键 Win+X 选择 Windows PowerShell(管理员),输入以下命令回车

    gcc -v -x c -E NUL

     把 #include <...> search starts here: 下面的几个路径复制出来(图中红框标记的)

    复制出来去掉空格后填到图中4.的部分

    然后其他的

    平台:下拉选 Win32

    编译器路径:下拉选有gcc.exe的那项

    代码感知模式:下拉选择 windows-gcc-x64

    includePath: 把 #include <...> search starts here: 下面的几个路径复制出来(图中红框标记的),复制出来去掉空格后填到图中4.的部分

    结果如图

     按下F5调试编译,选择 GDB 那项(这个是自动生成调试脚本

    再选第一项(即刚才配置的带gcc.exe的编译器路径)即可 (这个是自动生成编译脚本

    然后会弹出这个界面,不要修改,直接如图 关闭该文件即可

     配置完成了,我们测试一下

     打个断点再调试

     至此配置完成,新手无需再往下看了,进阶用户请继续看下面的

    通过JSON脚本配置

    1. 用于编译环境的脚本配置(头文件、宏、编译器平台等)

    也就是 c_cpp_properties.json,这个脚本用于配置编译环境

    在VS Code里按快捷键 左Ctrl+左Shift+P 【是Shift而非Alt】键入并运行

    C/C++:Edit Configurations (JSON)

    可参考这两篇文章 整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(主要Windows、简要Linux) - 一苇以航 - CSDN博客

    Visual Studio Code 如何编写运行 C、C++ 程序? - 知乎用户的回答 - 知乎 

    此时会生成第一个JSON文件:

    [ JSON 是一种存储和交换文本信息的语法,类似 XML。但更小更快,便于 JS 解析(因为 VSCODE 是JS写的)]

    c_cpp_properties.json

    修改内容如下(注意,这个文件不允许使用注释):

    {
        "configurations": [
            {
                "name": "Win32",
                "includePath": [
                    "${workspaceFolder}/**",
                    "D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/include",
                    "D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../include",
                    "D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/include-fixed",
                    "D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/include"
                ],
                "defines": [
                    "_DEBUG",
                    "UNICODE",
                    "_UNICODE"
                ],
                "windowsSdkVersion": "10.0.19041.0",
                "cStandard": "c17",
                "cppStandard": "c++17",
                "intelliSenseMode": "windows-gcc-x64",
                "compilerPath": "D:/msys64/mingw64/bin/gcc.exe"
            }
        ],
        "version": 4
    }
    .vscodec_cpp_properties.json

    更新一下说明:当需要第三方SDK如Npcap/WinPcap时,请在includePath自行添加

    另外Linux常用的头文件getopt.h位置在

    "C:\msys64\mingw64\x86_64-w64-mingw32\include"
    还有,VSCODE和VS一样支持引用环境变量(系统环境变量和VSCODE内置变量)
    VSCODE内置变量如   "${workspaceFolder}/**",   这句是默认的include配置内容,会指定搜索工作目录下的头文件等
    includePath   就是#include预处理器搜索路径
    defines   一些定义,用于条件编译,和编译时的flag有关
    compilerPath 编译器所在完整路径
    c/cppStandard是c/cpp语言标准如c11 c++17
    intelliSenseMode 是代码智能感应模式,通过研究关键词去看懂脚本(#无奈脸),
    如果不太清楚,可以补一下gcc 相关知识/或者学着用gcc编译(善用搜索引擎)或者看看官方资料,
     
    看不懂也没关系,请慢慢来,不着急(我前几个月看的时候也是完全不懂的,现在看懂很多了)

    VSCODE内置变量 https://code.visualstudio.com/docs/editor/variables-reference

    [很明显,上面这部分完全是 gcc配置各种路径 的知识] 不过gcc g++编译器是有区别的,如果用C++还是推荐g++

    2. 用于启动/调试程序的脚本配置

    也就是 launch.json,这个脚本用于启动和调试程序,其中 preLaunchTask 用于调用编译脚本

    1. 单击补充工具栏(侧边栏)上的“Debug”图标

    2. 点击 配置图标,可选方案有如下:

    1.  C++ (GDB/LLDB) (to use GDB or LLDB)
    2. C++ (Windows) (to use the Visual Studio Windows Debugger) from the Select Environment drop-down list.

    This creates a launch.json file for editing with two configurations:

    • C++ Launch defines the properties for launching your application when you start debugging.
    • C++ Attach defines the properties for attaching to a process that's already running.

    Update the program property with the path to the program you are debugging.

    If you want your application to build when you start debugging, add a preLaunchTask property with the name of the build task you created in tasks.json ("build hello world" in the example above).

    如果看得懂英文,请看这里官方详细:

    (其实就几个单词,并不难,请试着读懂它)↓↓↓

    vscode-cpptools/launch.md at master · Microsoft/vscode-cpptools

    然后会生成第二个文件:

     launch.json

    官方资料参考

    修改内容如下:

    {
    
        //${workspaceFolder} - /home/your-username/your-project
        //${workspaceFolderBasename} - your-project
        //${file} - /home/your-username/your-project/folder/file.ext
        // ${relativeFile} - folder/file.ext
        // ${fileBasename} - file.ext
        // ${fileBasenameNoExtension} - file
        // ${fileDirname} - /home/your-username/your-project/folder
        // ${fileExtname} - .ext
        // ${lineNumber} - 5
        // ${selectedText} - Text selected in your code editor
        // 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
        
        // 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": "gcc.exe - Build and debug active file",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "D:/msys64/mingw64/bin",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "miDebuggerPath": "D:\msys64\mingw64\bin\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "C/C++: gcc.exe build active file"
            }
        ]
    }
    .vscodelaunch.json

    [这部分完全是  GDB、cmd命令行知识、全局环境变量、利用脚本启动其他exe 的知识]

    至于变量的使用,看微软文档:https://code.visualstudio.com/docs/editor/variables-reference

    3. 用于编译的Task脚本配置

    tasks.json,这个脚本用于编译,会在调试之前启动

    还是,快捷键 左Ctrl+左Shift+P键入并运行     

    Tasks: Configure Task

    然后点击“Create tasks.json file from templates”再选择“Others”,

    会生成第三个文件:

    tasks.json

    修改内容如下:

    {
        "tasks": [
            {
                "type": "cppbuild",
                "label": "C/C++: gcc.exe build active file",
                "command": "D:/msys64/mingw64/bin/gcc.exe",
                "args": [
                    // "-std=c11"
                    "-fexec-charset=GBK",
                    "-Wall",
                    "-static-libgcc",
                    
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\${fileBasenameNoExtension}.exe"
                ],
                "options": {
                    "cwd": "D:/msys64/mingw64/bin"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "detail": "Task generated by Debugger."
            }
        ],
        "version": "2.0.0"
    }
    .vscode asks.json

     

    [完全是 gcc命令行工具 的知识]

    -fexec-charset=GBK 这个参数是gcc编译器用来处理中文字符显示问题的,
          更多gcc参数的使用https://www.cnblogs.com/zhangsir6/articles/2956798.html 或者查看GNU官方文档

    然后,看到"label"了吗?

    这个配置的值就要和之前在launch.json里的那个"preLaunchTask"的值一样,例如:

              "preLaunchTask": "gcc"  //  [launch.json文件里的]
         "label" : "gcc"        //  [tasks.json  文件里的]
    因为preLaunchTask意思是:在此之前启动指定task

    当然你可以变通使用 Task 里的 command 和 args,例如改成 make命令之类的以实现调用 MakeFile 编译什么的

    既然是入门,就一步步手动来,这样能更了解IDE的执行过程(这也许也是微软想带给我们的),很有价值的。

     必应网页翻译VSCode官方文档结果:https://www.translatetheweb.com/?from=en&to=zh-CHS&dl=en&a=https%3A%2F%2Fcode.visualstudio.com%2Fdocs%2Flanguages%2Fcpp


    目录结构如下

    “项目目录”

    +.vscode目录

      ++ c_cpp_properties.json

      ++ launch.json

      ++ tasks.json

    +多个c源文件*.c

     按下编译快捷键F5会编译当前打开的单个文件(比如同时开了1.c 2.c但是光标选中的是2.c,那么就只编译2.c)

    这样就初步配置完成了,如果需要更高级的功能,请查看微软Visual Studio Code的文档

    每次使用都需要先打开“项目”目录,然后该IDE会读取.vscode子目录配置文件。

    因此我们可以将配置好的.vscode目录备份起来,以后要新建“项目”,直接就把该目录放置到“项目”目录,然后打开"项目"目录即可。

    当然,这三个文件也适用于VS2017最新版 对 Visual Studio 中 C++ 生成系统的“打开文件夹”支持 | Microsoft Docs

    附上:

     在VScode上配置Git - 知乎 

    VSCode插件之Code Runner (只能run不能调试)

    附上Code Runner解决运行程序中文乱码问题的方案

    https://www.cnblogs.com/yucloud/p/10259681.html#VSCode_zh

    6,让Msys2更顺手

    Msys2 更舒适的配置https://www.jianshu.com/p/0e24ee498f2b

    PS. VScode编译单个源文件特别方便,用来和VS2017互补非常棒。(虽然VS2017新版也实现了和c/cpp插件一样地利用JSON自动化编译)

     最后附上:Cygwin、MinGw、mingw-w64,MSys msys2区别与联系 - zengkefu - 博客园

    其实这三个文件的配置,把鼠标悬浮在配置上面,vscode会告诉你作用和值范围,这些都很简单的,难的是自身英文水平 和使用搜索引擎的能力

    假如把vscode给的那短短的docs都读懂,把c语言gcc编译器的参数、预编译命令等知识都搜索一遍,那配置就轻而易。(当然我都做不到,或者说不愿意去做,emmm......)

    使用 Makefile 

    方式1. 新插件,VSCode官方团队推出专为Makefile工程解析的 Makefile Tools 插件,从此不需配置麻烦的环境,只需要写好Makefile需要的变量即可(强烈推荐,支持Linux Kernel工程)

        官方使用说明:https://devblogs.microsoft.com/cppblog/now-announcing-makefile-support-in-visual-studio-code/ 

    方式2. 新建 .vscode/tasks.json 并填入以下内容,Makefile 则用项目里需要的,这里贴个 Linux 内核交叉编译的例子

    {
         "version": "2.0.0",
          "tasks": [
            {
              "type": "shell",
              "label": "Build",
              "command": "cd ${fileDirname} && make",
              "group": {
                "kind": "build",
                "isDefault": true
              },
              "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
              },
              "problemMatcher": [
                "$gcc"
              ]
            }, {
              "type": "shell",
              "label": "clean",
              "command": "cd ${fileDirname} && make clean",
              "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
              }
            }
          ]
        }
    tasks.json
    # 模块驱动,必须以obj-m=xxx形式编写
    obj-m = hello.o
    
    KDIR = ../../linux
    CROSS = ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
    
    all:
        $(MAKE) -C $(KDIR) M=$(PWD) $(CROSS) modules
    
    clean:
        $(MAKE) -C $(KDIR) M=`pwd` $(CROSS) clean
    
    
    #VSCode 里按 CTRL+SHIFT+B 即可调用本 Makefile 编译
    #也可以在VSCode 菜单里点 Terminal -> Run Task... 或者 Run Build Task



    Makefile教程参考:韦东山的嵌入式视频,非常实用易懂,也是大工程里 Makefile 编译常见的写法  https://www.bilibili.com/video/BV1w4411B7a4?p=48


    然后在 VSCode 里,按 CTRL+SHIFT+B 即可调用本 Makefile 编译 也可以在VSCode 菜单里点

    Terminal -> Run Task... 或者 Run Build Task

    附LINUX的glibc找不到标准库函数源码的解决方案

    glibc问题(Linux) 

    如果你在Linux上配置VSCode,单步调试时就会发现一个报错:Unable to open 'malloc.c': File not found (file:///build/glibc-kAz5Pl/glibc-2.27/malloc/malloc.c). 之类的提示,

    注意: 这里的 glibc-kAz5Pl 最后一个字母是小写的 L (即 jklmn 的 l )

    记得安装 gdb 哦(apt install gdb && apt-mark auto gdb)

    解决方案有两种:

    1. [在kali下使用gdb以源码方式调试glibc](推荐,debian系通用)然后把glibc-2.27复制到VSCode要求的目录 build/glibc-kAz5Pl/ 里即可

    2.  就是在glibc下载网站搜索build/后面那段glibc-2.27,然后下载并解压到根目录下的build目录(没有就自己建) {没找到gnu的镜像源,只能默默忍受dns污染和墙体的光辉了}

    另外参考 怎么查看gcc默认的include路径 :

         Linux下是                 gcc -v -x c -E /dev/null 

         Windows下是           gcc -v -x c -E NUL

          然后找到输出内容中的 #include <...> search starts here:

     然后c_cpp_properties.json的 includePath 如下

    "includePath": [
                    "/usr/lib/gcc/x86_64-linux-gnu/7/include",
                    "/usr/local/include",
                    "/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed",
                    "/usr/include/x86_64-linux-gnu",
                    "/usr/include",
                    "${workspaceFolder}/**"
    ],

    关于glibc(好像又称LLD)  :

    由于 glibc (GNU C Library) 比 libc(ANSI C Library) 更符合 Linux, 所以 glibc 渐渐成为 Linux 的"标准库", 而 libc 渐渐不再维护

    参考: [libc、glibc和glib的关系]


    解答

    1. MSYS2 是什么,它和 Cygwin 的区别?

    答,MSYS2更好,请看官网介绍:

     


    关于学习的理念

    学习编程,最好就是对工具和整体都有一个正确、完整的理解。从命令行理解是最好的,因为你能一步步地理解程序执行的过程,再加以调试,基本上整个软件层面都能透彻理解。

    比如HelloWord.c 你可以开始使用命令行理解它

     1 #include <stdio.h>
     2 // 这是一个HelloWorld演示 
     3 
     4 int main(void) {
     5     int a = 2019; 
     6     int c = a - 1949;        // 我们在exe里看不到c的值的,因为没有打印出来,
     7                             //但是我们可以用调试器获取这个值
     8     printf("Hello World!");
     9     return 0;
    10 }
    HelloWorld.c

    (tab键盘可以部分智能猜测路径/命令补全)

    编译方面

    请先配置好 MingW64

    [cmd] cd /d E:MySource    定位到HelloWorld所在路径E:MySource 

    [cmd] gcc HelloWorld.c -o HelloWorld.exe  使用gcc[Mingw64] 编译HelloWorld.c并输出为HelloWorld.exe

    [cmd]  ./HelloWorld.exe          在当前已经定位路径,启动HelloWorld.exe,这个就是运行

    调试方面

    [cmd] gcc -g HelloWorld.c -o HelloWorld.exe    重新编译一次,这次用了-g参数,给exe里加上了调试信息,以便于gdb使用

    [cmd] gdb HelloWorld.exe            使用gdb进行调试,由于上面加上了调试信息,所以我们能看到

    (gdb) break 1        把断点打在源码第1行,不懂的话可以打help看帮助

    (gdb) r           Run的简写,运行

    (gdb) n            Next的简写,下一行

    你可以一直执行到int c = a - 1949 的下一行开头即 printf("Hello World!");

    (gdb) info local a      查看和变量a相关的值

    会显示:

            a = 2019
            c = 70

    怎么样,好玩吧!这个就是调试

    当然你还可以查看汇编源码:

     quit退出

    这个过程你已经了解了:

    在Windows里双击运行exe时,系统帮你做了什么(当然是简化版,实际上Windows还有一些安全措施之类的)

        它先定位到路径,然后才运行。

    在计算机里,程序是一步步运行的

        所以调试能让你快速理解程序和编程,也能让你看到每个数据的变化

    当然还有很多有趣的东西,多线程什么的原来不是真正的同步执行,命令行参数原来离我们学生学C语言并不远,仅仅是学校没有教而我们也不愿意去探索去看国外优秀经典书籍如C Primer Plus  请看链接:C程序获取命令行参数   想了解更多有趣的东西,可以看我其他博文,虽然没有这篇好,但是也导出了很多探索路线

    拥有思想理念地去编程,会给你带来一个不一样、精彩的世界观

    附上:Linux下gdb的安装及使用入门

    拓展学习(就算不学也建议仔细了解一下):

    1. 习惯常用的命令操作,理解图形化的思想(做到不讨厌命令行也不小看图形化,把命令行和图形化操作看作同一地位,这样的思维对 个人进步 和 工程开发  大有脾益)
    2. gdb           是C/C++调试器,也是众多衍生语言(如Java)的调试器基础,学会gdb,就能熟悉各种编程语言、IDE的调试
    3. Makefile    一种针对复杂工程自动化编译的脚本文件,有利于理解各种IDE原理
    4. git             分布式版本控制工具
    5. Linux        因为这些gcc、gdb都是从Linux移植过来的,Windows原生编译调试器好像只有MSVC
    6. 学会使用第三方的库,如npcap、Mysql的C api等(需要相关的知识体系,如网络或数据库的一点点知识)

         如果想写命令行程序,见 main函数的参数(int argc,char *argv[]) 或参考书籍《C Primer Plus 第五版》

    本文关键词检索:Windows , Windows10 , Win10 , MSYS2 , MinGw , MinGw-w64 , .vscode ,  c_cpp_properties.json , launch.json , tasks.json , VScode , 写c , c语言 , Visual Studio Code

    --------蓝天上的云_转载请注明出处.
  • 相关阅读:
    Servlet开发
    HTML实现页面自动跳转的五种方法
    AVAYA话机管理
    AVAYA路由
    报关相关知识
    基本杆法
    AVAYA初始配置
    加塞和瞄准
    基本杆法图解
    AVAYA拨号计划
  • 原文地址:https://www.cnblogs.com/yucloud/p/vs_code_config.html
Copyright © 2020-2023  润新知