哥伦布

VScode运行c遇到问题总结

习惯了vscode,虽然插本一开始学c时候用的是vs,奈何我又不是天天写c,偶尔底层才用到c,这么轻量化的vscode拿来运行c不香吗。

在vscode配置运行c是一件非常棘手的事情,所以有了此贴记录。

上一帖已介绍gcc环境安装:https://www.cnblogs.com/NanKe-Studying/p/16245588.html

在c文件目录创建.vscode(以后有c程序想要运行直接把这个配置目录托到对应程序即可)

里面分别存放3个配置文件项

c_cpp_properties.json 、 launch.json 、 tasks.json

分别对应以下

复制代码
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "F:\\software\\mingw\\bin\\g++.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}
复制代码
复制代码
{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
      {
          "name": "(gdb) Launch",
          "preLaunchTask": "task g++",//调试前执行的任务,就是之前配置的tasks.json中的label字段
          "type": "cppdbg",//配置类型,只能为cppdbg
          "request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)
          "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称
          "args": [],//调试传递参数
          "stopAtEntry": false,
          "cwd": "${workspaceFolder}",
          "environment": [],
          "externalConsole": true,//true显示外置的控制台窗口,false显示内置终端
          "MIMode": "gdb",
          "miDebuggerPath": "F:\\software\\mingw\\bin\\gdb.exe",
          "setupCommands": [
              {
                  "description": "Enable pretty-printing for gdb",
                  "text": "-enable-pretty-printing",
                  "ignoreFailures": true
              }
          ]
      }
  ]
}
复制代码
复制代码
{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "task g++", //任务的名字,就是刚才在命令面板中选择的时候所看到的,可以自己设置
      "command": "F:/software/mingw/bin/g++.exe",
      "args": [
        //编译时候的参数
        "-g", //添加gdb调试选项
        "${file}",
        "-o", //指定生成可执行文件的名称
        "${fileDirname}\\${fileBasenameNoExtension}.exe"
      ],
      "options": {
        "cwd": "F:/software/mingw/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true //表示快捷键Ctrl+Shift+B可以运行该任务
      },
      "presentation": {
        "panel": "new" //默认为“shared“表示共享,改成new之后每个进程创建新的端口
      }
    }
  ]
}
复制代码

以上对应的bin路径只需改成自己MinGw安装的bin路径即可

以上前提是先拓展商店安装

F5打开Windows的dos终端运行,F6在vscode内置的调windows终端运行。

解决输出结果中文乱码问题

F5以GBK文件运行,F6以gb2312

解决代码中注释乱码问题

设置中搜索Files.autoGuessEncoding,打勾选中此项

解决运行终端时候一闪而过的问题

在main方法return 0 前带上getchar();,可让它一直等待输入

最后是一定不要以中文命名目录结构

测试99乘法表

F5

 F6

posted @   南柯Dream丶  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示