VSCode配置C/C++开发环境

news/2024/10/2 4:12:22

VSCode配置C/C++开发环境

本教程基于以下视频制作
视频地址

工具

  • VS Code
    下载地址

  • MinGW-w64编译器(x86_64-win32-seh)
    下载地址

工具配置

MinGW-w64环境变量

  1. 将MinGW-w64下的bin文件夹的路径配置到环境变量path中

  2. 通过终端(cmd)命令where gcc 验证,会得到相关路径

    如下图

    MinGW-w64环境变量验证

下载VS Code插件

C/C++ Extension Pack (扩展包)其中包括:
- C/C++
- C/C++ Themes
- CMake
- CMake Tools

设置c/c++编译选项

在vscode中使用快捷键 Ctrl+Shift+P 在出现的菜单中选择 C/C++编辑配置(UI)

  1. 更改编译器路径

    填入之前验证环境变量时终端(cmd)输出的路径, 如下图

    编译器路径

  2. 更改IntelliSense 模式(代码提示的模式)

    选择gcc-x64(legacy) ,如下图

    代码提示模式

配置完成后VSCode当前打开的文件夹中会生成一个.vscode文件夹, 其中有一个c_cpp_properties.json文件, 文件内容就是刚才更改后的配置和一些默认配置,鼠标放到配置字段上, 会显示出相关的解释

vscode配置并编译C

  1. 测试代码

    test.c

    源代码如下

    #include<stdio.h>int main(){printf("hello word !");return 0;
    }
    
  2. 创建执行任务

    选择菜单栏的终端,点击配置任务, 如下图(需要代码文件在前台)

    配置任务

选择编译器, 就会生成文件tasks.json (与之前的c_cpp_properties.json在相同的位置)

选择编译器

其中
command 指定的是编译器,
${file} 指的是被编译的文件,
${fileDirname}\\${fileBasenameNoExtension}.exe 指的是生成的可执行程序的路径和名字

  1. 编译 + 执行

    1. 将需要编译的代码文件放到前台

    2. 依次点击 [终端] > [运行生成任务] 之后选择配置好的任务

      运行生成的任务

    3. 选择任务后会在终端显示任务运行状态,

      正常的话,会在代码同路径生成*.exe的可执行文件

      编译状态

    4. 打开终端,执行文件, 结果会显示在终端上

      执行结果

vscode配置并编译C++

配置,编译C++代码,使用的工具与C语言是一致的,都是用到了MinGW-w64, 配置步骤也非常相似

  1. 首先,先准备一个c++代码文件(*.cpp)

    cpp_test.cpp

    // cpp_test.cpp
    #include<iostream>
    using namespace std;int main(){int num = 0;cin >> num;cout << num << endl;return 0;
    }
    
  2. 在vscode中使用快捷键 Ctrl+Shift+P 打开 C/C++编辑配置(UI) 并配置

    这个时候我们需要注意一下配置名称这个选项, 配置名称是可以修改的, 我们先把之前配置的C语言的配置名称修改为win32_c,之后在新建一个win32_c++的配置

    • 修改配置选项为win32_c,也可以不改, 只是为了便以区分

    Win32_c

    • 新增用于编译c++的配置选项, 我这边使用的名字是Win32_cpp

    增加配置选项

    • 更改编译器路径和IntelliSense 模式(代码提示的模式)

      C++的编译器路径:*/mingw64/bin/g++.exe

      IntelliSense 模式: gcc-x64(legacy)

    修改完成之后可以打开c_cpp_properties.json(编译选项),发现多了一些内容

    {
    "configurations": [// c的相关配置{"name": "Win32_C", // 配置名称"includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "D:\\Program Files (x86)\\mingw64\\bin\\gcc.exe", // 编译器路径"cStandard": "c17","cppStandard": "c++23","intelliSenseMode": "gcc-x64" // IntelliSense 模式},// 新增的c++的相关配置{"name": "win32_C++","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "D:/Program Files (x86)/mingw64/bin/g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"}],
    "version": 4
    }
    
  3. 编译c++代码文件

    • 将c++代码文件放到前台

    • 选择菜单[终端]-[配置任务],在弹窗中选择C/C++:g++.exe生成活动文件

    c++配置任务

    执行完上述步骤, 会发现tasks.json和编译选项配置文件一样也增加一些内容, 内容与编译选项类似, 不再截图说明

    • 选择菜单[终端]-[运行任务],在弹窗中选择C/C++:g++.exe生成活动文件

    C++编译结果

    这样就会在从C++源代码文件相同的路径下生成一个*.exe文件

    • 执行生成的exe文件

    c++执行结果

多文件编译

一般写的程序每个文件只做一件事, 后期通过相互调用生成程序, 这样就需要进行多文件编译, 让多个文件生成一个可执行文件(*.exe)

  1. 准备文件

    文件一 test_multiplefiles.c

    // 文件一 test_multiplefiles.c#include<stdio.h>// 声明函数
    extern int Add(int x, int y);int main(){int a = 10;int b = 30;int sum = Add(a,b);printf("%d + %d = %d",&a,&b,&sum);return 0;
    }

    文件二 add.c

    // 文件二 add.c
    // 定义函数
    int Add(int x, int y){return x + y;
    }
    
  2. 调整配置文件

    要想实现多文件编译, 需要调整配置文件参数

    配置文件共两个, 一个是编译选项(c_cpp_properties.json), 另外一个是编译配置(tasks.json), 需要修改的是后者

    在要传给编译器的参数args

    ${file}修改为${workspaceFolder}\\*.c

    ${fileDirname}\\${fileBasenameNoExtension}.exe 修改为${workspaceFolder}\\${workspaceRootFolderName}.exe

    编译窗口

    多文件编译

    执行窗口

    多文件编译后执行

TIPS

${file}: 选中的当前文件

${workspaceFolder}\\*.c: 该工作空间下所有的C语言源码文件

${fileDirname}\\${fileBasenameNoExtension}.exe: 与源码文件路径以及名称一致

${workspaceFolder}\\${workspaceRootFolderName}.exe: 与工作空间名称一致

${fileDirname}\\*.c: 源文件当前文件夹下所有的源码文件

编译多文件时, 只能有一个main()函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66995.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

R-和-JavaScript-高级数据可视化-全-

R 和 JavaScript 高级数据可视化(全)原文:Pro Data Visualization Using R and JavaScript 协议:CC BY-NC-SA 4.0一、背景 当本文的第一版发布时,在 web 开发领域出现了一个新概念:使用数据可视化作为交流工具。今天,网络上到处都是信息图;然而,这个概念在其他领域和部…

P5661 [CSP-J2019] 公交换乘P2952 [USACO09OPEN] Cow Line S

自己写的第一个c++博客(因为懒得写两个,所以合成一篇写) [CSP-J2019] 公交换乘 题目描述 著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案:在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠票,…

关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题

安装准备:U启动盘,Ubuntu系统 插入启动盘,开启电脑选择启动项为U启动(我的电脑为F12)安装Ubuntu系统选启动盘启动后,出现Ubuntu的图标后直接黑屏,无法看到安装界面。 原因:linux内核要加载第三方显卡驱动nouveau驱动。 解决方法:在启动出现Ubuntu的图标后,在选择安装…

忘记帝国 CMS 密码怎么办?教你一招轻松重置

如果您无法通过“找回密码”功能重置密码,可以尝试手动重置密码。备份数据库:在开始任何操作之前,请先备份数据库,以防万一。连接数据库:使用数据库管理工具(如 phpMyAdmin)连接到帝国CMS的数据库。找到用户表:导航到用户表,通常是 phome_enewsuser。查找用户记录:在…

dedecms(织梦)网站安全防护设置

织梦CMS 是国内常用的免费开源管理系统之一,但由于其广泛使用,也存在许多已知的安全漏洞。为了提高织梦CMS网站的安全性,以下是一些有效的安全防护设置步骤: 1. 修改网站后台的访问路径修改后台路径:默认后台路径为 http://域名/dede/。 修改为更复杂的路径,例如 http://…

静态QQ登录代码学习

记录学习 @搬砖界泰斗这只小狐狸 的静态QQ登陆页面源码,了解静态登陆页面如何书写&&拓宽自己对css的理解 Q1:用css调节子级元素位置时什么时候调节margin,什么时候调节padding? A1:margin对外,padding对内 e.g.要实现一个这样的排版 有一个大大盒子fafather,里面…

帝国CMS后台登陆时错误_enewsloginfail

当你在迁移帝国CMS网站后,遇到后台登录时出现“Table phome.***_enewsloginfail doesnt exist”的错误时,通常是因为数据库没有正确恢复。以下是详细的解决步骤: 1. 检查数据库恢复情况登录数据库管理工具:使用 phpMyAdmin 或其他数据库管理工具登录到数据库。检查数据库表…

解决 DedeCMS 报错“Please set ‘request_order’”的问题

如果你使用的是虚拟主机,无法直接修改 php.ini 文件,可以通过修改 DedeCMS 的代码来解决这个问题。找到 common.inc.php 文件:打开织梦CMS安装目录下的 include/common.inc.php 文件。修改代码:使用文本编辑器打开 common.inc.php 文件。找到第 34 行:phpif (strtoupper(i…