VScode(一):C/C++ & MinGW & Code Runner

1 VScode配置安装

自行前往VScode官网下载,并按提示进行安装。
在这里插入图片描述

2 MinGW配置安装

2.1 MinGW下载安装

1)选择下载源
在这里插入图片描述
2)选择安装模式(以免安装为例)
在这里插入图片描述

2.2 MinGW环境配置

1)配置用户环境变量
在这里插入图片描述
2)验证配置
在这里插入图片描述在这里插入图片描述

# 配置成功
C:\Users\Administrator>c++
c++: fatal error: no input files
compilation terminated.

# 配置失败
C:\Users\Administrator>c++
'c++' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

3 VScode编译C/C++

3.1 扩展插件安装

在这里插入图片描述
在这里插入图片描述

3.2 项目配置

3.2.1 配置启动——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": "(gdb) 启动",//配置名称
          "type": "cppdbg",//配置类型
          "request": "launch",//配置请求类型
          "program": "${fileDirname}/${fileBasenameNoExtension}.exe",//程序调试路径
          "args": [],// 程序调试时传递给程序的命令行参数,一般设为空即可
          "stopAtEntry": false,// 设为true时程序将暂停在程序入口处,相当于在main上打断点
          "cwd": "${workspaceFolder}",// 调试程序时的工作目录,此处为工作区文件夹;改成${fileDirname}可变为文件所在目录
          "environment": [],// 环境变量
          "externalConsole": true,// 为true时使用单独的cmd窗口,与其它IDE一致;18年10月后设为false可调用VSC内置终端
          "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡
          "MIMode": "gdb",// 指定连接的调试器,可以为gdb或lldb
          "miDebuggerPath": "gdb.exe",// 调试器路径,Windows下后缀不能省略,Linux下则不要
          "setupCommands": [
              { 
                  "description": "为 gdb 启用整齐打印",
                  "text": "-enable-pretty-printing",
                  "ignoreFailures": true
              }
          ],
          "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
        }
    ]
}

3.2.2 配置任务——task.json

在这里插入图片描述

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558 
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "Compile",//任务名称,保持与launch.json的preLaunchTask一致
      "command": "E:\\mingw64\\bin\\g++.exe",
      "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "-fexec-charset=GBK", //GBK编码,用于解决Winows中文乱码
      ],
      "options": {
        "cwd": "E:\\mingw64\\bin"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": "build"
    }
  ]
}

3.2.2 配置跨库——c_cpp_properties.json

当需要调用其它库,或者自己编写的位于工作空间以外的头文件,则需要编写此文件。
在这里插入图片描述

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "E:\\mingw64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

3 代码示例

3.1 源码获取

鉴于图像处理领域大量用到C++,直接从github上克隆一个光线追踪项目。
在这里插入图片描述

3.2 代码执行

1)执行主函数
在这里插入图片描述
2)查看结果
在这里插入图片描述

4 参考资料

  1. Visual Studio Code 如何编写运行 C、C++ 程序?
  2. Visual Studio Code (vscode) 配置 C / C++ 环境
### 关于VSCode Code Runner 输出缓慢的解决方案 当使用 VSCode 的 **Code Runner** 插件运行代码时,可能会遇到输出延迟或速度较慢的情况。这种现象可能由多种因素引起,例如环境配置不当、插件设置不优或者外部工具的影响。 以下是几种常见的优化方法: #### 1. 调整终端类型 默认情况下,Code Runner 可能会使用集成终端来显示输出结果。如果发现性能不佳,可以尝试切换到其他类型的终端。 通过修改 `settings.json` 文件中的以下参数实现: ```json { "code-runner.runInTerminal": true, "code-runner.clearPreviousOutput": true } ``` 上述配置将强制 Code Runner 使用内置终端而不是面板窗口展示输出[^1]。此更改通常能够减少渲染负担并提升响应速度。 #### 2. 减少不必要的扩展干扰 某些第三方扩展(尤其是那些处理文件监视或语法高亮的功能)可能导致整体执行效率下降。建议禁用暂时不需要使用的附加组件,并观察是否有改善效果。 #### 3. 修改编译/解释器路径 确保所选语言对应的编译器或解释程序版本是最新的,并且其安装位置已被正确定义在系统的 PATH 环境变量里。错误的路径设定有时会造成额外加载时间增加。 对于 Python 用户来说,可以通过如下方式指定特定 python 实例作为运行目标: ```json "code-runner.executorMap": { "python": "python3" } ``` #### 4. 配置缓存机制 针对频繁调用相同脚本的情形下,启用适当级别的缓存策略有助于加快重复运算过程。虽然这不是直接解决输出延滞的办法,但对于涉及大量计算的任务确实有效果显著。 另外值得注意的是,在些特殊场景比如去除未排序单向列表里的重复项时,采用合适的数据结构同样重要[^2]^。尽管这里讨论的主题偏离主题稍远但仍值得借鉴——即合理选择算法和数据模型往往带来意想不到的好处。 最后提醒点关于链表操作方面的小技巧:当我们面对不允许借助辅助存储空间约束条件下解决问题的时候,利用双指针技术不失为种优雅方案[^4]^;而至于为何归并排序适用于此类情况则是因为它具备稳定性和较低内存消耗特性[^3]^. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值