zoukankan      html  css  js  c++  java
  • win下轻量级的c语言开发环境配置:vsc + gcc

    说明

    VSCode是个编辑器,默认不带编译和调试环境,需要自行安装编译器,调试可以用其插件完成。

    编译套件选用的是TDM-GCC,方便易用。(Codeblocks、Dev-Cpp等默认带的都是这款)。安装时会自动添加路径到环境变量PATH。

    下载

    配置

    1. 打开powershell,输入gcc检测gcc是否安装成功;
    2. 打开VS Code,点扩展,把需要的插件和主题都安装了;
    3. 建好纯英文的工作目录(VS Code对中文支持较差),在VSCode的资源管理器中打开这个目录,按F5,会自动创建.vscode目录下的launch.json文件,编辑并保存:
    {
        "version": "0.2.0",
        "configurations": [{
            "name": "C Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,这里只能为cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "launchOptionType": "Local", // 调试器启动类型,这里只能为Local
            "targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${cwd}\${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
            "miDebuggerPath": "gdb32.exe", // miDebugger的路径,注意这里要与MinGw的路径对应。64位系统用gdb64.exe
            "args": [""], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
            "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "preLaunchTask": "gcc"   // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
        }]
    }
    
    1. 在.vscode目录下新建tasks.json文件:
    {
        "version": "0.1.0",
        "command": "gcc",  // 编译C++用g++,用MinGW和clang的自行修改。
        "args": ["${file}", "-o", "${fileBasenameNoExtension}.exe", "-g3", "-Og", "-Wall", "-static-libgcc", "-std=c11", "-fexec-charset=GBK", "-finput-charset=UTF-8"],  // 编译命令参数,C++可用-std=c++14
        "showOutput": "always",
        "problemMatcher": {
            "owner": "c",
            "fileLocation": ["relative", "${workspaceRoot}"],
            "pattern": {
                "regexp": "^(.*):(\d+):(\d+):\s+(warning|error):\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            } 
        }
    }
    
    1. 在.vscode目录下新建settings.json文件:
    // 将设置放入此文件中以覆盖默认值和用户设置。
    {
        "files.defaultLanguage": "c",
        "code-runner.runInTerminal": false,
        "code-runner.executorMap": {
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c11 && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c++14 && $dir$fileNameWithoutExt"
        }
    }
    
    1. 在.vscode目录下新建c_cpp_properties.json文件:
    // 目录根据实际修改
    {
        "configurations": [
            {
                "name": "Win32",
                "includePath": [
                    "${workspaceRoot}",
                    "C:/TDM-GCC-32/include",
                    "C:/TDM-GCC-32/lib/gcc/mingw32/5.1.0/include"
                ],
                "browse": {
                    "limitSymbolsToIncludedHeaders": true,
                    "databaseFilename": "",
                    "path": [
                        "C:/TDM-GCC-32/include",
                        "C:/TDM-GCC-32/lib/gcc/mingw32/5.1.0/include"
                    ]
                }
            }
        ],
        "clang_format": {
            "style": "file",
            "fallback-style": "LLVM",
            "sort-includes": false
        }
    }
    

    7.在当前目录下新建一个.c文件,在调试面板中测试啦,或直接按F5。

    技巧

    • 因为VS需要为每一个文件夹做单独配置,所以建议把.vscode文件夹放到你常用的文件夹的顶层,这样就不用重复配置了。(里面一般有:launch.json,tasks.json,settings.json,c_cpp_properties.json 四个基本的文件用于支持编译输出)
    • Ctrl + = 或 -(退格键左边)可放大缩小,再把各窗口拉一拉,配合逼格的主题简直完美!
    • 虽然配置了环境变量,仍需要将其中includePath项的路径更改为安装的TDM-GCC的实际路径,这一项是让VSCode识别到C/C++的头文件,不然找不到的时候会报错。

    参考文章:

    http://dreamlikes.cn/archives/724

    https://www.imooc.com/article/17336

  • 相关阅读:
    每日日报
    Serverless 架构模式及演进
    媒体声音|阿里云数据库:一站式全链路数据管理与服务,引领云原生2.0时代
    贾扬清谈云原生让数据湖加速迈入3.0时代
    阿里巴巴首席技术官程立:我们相信并正在践行的“好科技”
    Delphi外挂制作
    delphi获取汉字拼音首字母
    扫雷外挂的设计与实现
    access和SQL语句的区别
    调用C语言编写的DLL文件
  • 原文地址:https://www.cnblogs.com/NeroSong/p/7196989.html
Copyright © 2011-2022 走看看