首页 > 其他分享 >VScode配置C语言环境

VScode配置C语言环境

时间:2023-06-14 22:44:13浏览次数:58  
标签:mingw32 .. VScode 配置 w64 C语言 Surroundings 64 mingw64

0.前言

运行系统为【Windows11专业版】

1.安装VScode   官网下载 VScode 或使用电脑自带【Microsoft Store】(微软商店)下载。

2.运行配置VScode

3. 安装编译器(MinGW-W64 GCC)

下载地址

官网:MinGW-w64

蓝奏云:https://hyborn.lanzouw.com/iqb1x0i0wwjc

密码:0000

下载完成后把压缩包解压在C盘目录下新建一个名为【Surroundings】文件夹中。

进入【mingw64】-【bin】后复制路径。

在设置搜索框中输入【查看高级系统设置】打开后

依次点击【高级】-【环境变量】-用户变量中的【Path】-【新建变量】

路径是C:\Surroundings\mingw64\bin

确定后:按住【Win】+R 调出运行窗口输入cmd回车后

在命令行窗口输入【gcc -v -E -x c++ -】结果是下图则以上步骤正确

4.配置VScode

在D或E盘新建一个专门运行C语言程序的文件夹后在菜单栏依次点击菜单栏中的【File】-【Open Folder】找到刚才新建的文件夹,然后点击选择文件夹打开这个项目文件。

然后在里面新建一个后缀名.c的文件和【.vscode】文件夹且在.vscode中新建

【c_cpp_properties.json】、【launch.json】、【tasks.json】三个文件

1.在c_cpp_properties.json内输入以下代码:

c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "C:/Surroundings/mingw64/include/**",
                "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                    "${workspaceRoot}",
                    "C:/Surroundings/mingw64/include/**",
                    "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                    "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                    "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                    "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                    "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                    "C:/Surroundings/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
                ]
            }
        }
    ],
    "version": 4
}

2.在launch.json内输入以下代码:

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "preLaunchTask": "echo",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "echo.",
                "&",
                "pause"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole":true
        },
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Surroundings\\mingw64\\bin\\gdb.exe",// 自己电脑的gdb
            "preLaunchTask": "echo",//这里和task.json的label相对应
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
 
        }
    ]
}

3. 在tasks.json文件中输入以下代码:

tasks.json
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "echo",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-g", 
                "${file}", 
                "-o", 
                "${fileBasenameNoExtension}.exe",
                "-fexec-charset=GBK"//解决中文乱码
            ]
        }
    ],
    "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "shared", 
        "showReuseMessage": true,
        "clear": false
    }
}

现在.c后缀名文件里面写程序了,以下输出我们熟悉的hello world:

测试代码
 #include"stdio.h"
int main()
{
    printf("hello,world");
    return 0;
}

最后按【F5】运行

出现“hello,world”表示成功。

5.附加:

  • 代码中的路径需要修改为自己的文件路径。
  • 之后运行C程序都需要放在那个新建的目录下。

 

标签:mingw32,..,VScode,配置,w64,C语言,Surroundings,64,mingw64
From: https://www.cnblogs.com/hyborn/p/17481553.html

相关文章

  • 哈希搜索算法及C语言实现
    一、哈希搜索算法原理哈希搜索,也叫散列查找,是一种通过哈希表(散列表)实现快速查找目标元素的算法。哈希搜索算法通常适用于需要快速查找一组数据中是否存在某个元素的场景,其时间复杂度最高为O(1),而平均情况下的时间复杂度通常相当接近O(1),因此在实际应用中具有很高的效率和性能。哈......
  • [C语言/PTA] 学生成绩链表处理
    题目要求本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:structstud_node*createlist();structstud_node*deletelist(structstud_node*head,intmin_score);函数createlist利用scanf从输入......
  • [C语言/PTA] 单链表结点删除
    题目要求本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:structListNode{intdata;ListNode*next;};函数接口定义:structListNode*readlist();structListNode*deletem(structListNode*L,intm);......
  • [C语言/PTA] 建立学生信息链表
    题目要求本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。函数接口定义:voidinput();该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:structstud_node{intnum;/*学号*/charnam......
  • uniapp vue.config.js配置chunk-vendors.js文件拆分
    constpath=require('path')functionresolve(dir){returnpath.join(__dirname,dir);}constCompressionPlugin=require('compression-webpack-plugin')consthtmlWebpackPlugin=require('html-webpack-plugin')htmlWebpackPl......
  • 01企业项目开发流程,你平时的工作流程,pip永久换源,虚拟环境和虚拟环境搭建,luffy后台创建
    1企业项目类型#1面向互联网用户:商城类项目 -微信小程序商城-app商城-得物-饿了么-问卷网#2面向互联网用户:二手交易类的 -咸鱼 -转转#3公司内部项目:python写的重点#传统软件行业,互联网 -给客户做软件:国家电网,社保局,银行,医院,大客户......
  • C/C++C语言课程设计[2023-06-14]
    C/C++C语言课程设计[2023-06-14]C语言课程设计要求1、每位同学按照指定的题目完成C语言课程设计,题目不能更换,每人1题,独立完成。上课时间同学们进入学习通课程(C语言课程设计)里签到,老师会有讲解检查。2、考核要求成绩组成考核/评价环节分值(或百分比)考核/评价细则平时成绩考勤、......
  • SpringBoot使用自定义日志注解,配置切面
    1.使用技巧以下是需要注意的部分:在环绕通知中使用ProceedingJoinPoint,控制目标方法的运行。在其他通知类型中使用JoinPoint。如果使用JoinPoint则必须位于参数的第一位。ProceedingJoinPoint中有特殊的方法proceed()。当有多个切面时,使用@Order(11)来指定注解的优先级。......
  • 【OpenCV】在VS2017中配置OpenCV开发环境
    开发环境:OpenCV4.5.4、VS2017、x64打开属性管理器:视图-->其他窗口-->属性管理器找到Release|x64,配置OpenCV环境主要操作的对象就是Micorosoft.Cpp.x64.user需要注意的是Micorosoft.Cpp.x64.user在VS2019里没有了,只能手动创建,手动创建方式:右击Release|x64,选择“添加新项目属......
  • VSCode - Replace Tab with 4 Spaces for Go
    Checkbelowsettings:Ifgotbelowerrormessage,justrunthecommand:The"goformat"commandisnotavailable.Run"goinstall-vwinterdrache.de/goformat/[email protected]"toinstall. Openafile,cl......