当前位置: 首页 > news >正文

Visual Studio Code下C/C++开发环境的配置及使用

Visual Studio Code下C/C++开发环境的配置及使用

本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载,但需要注明原作者"海洋饼干叔
叔";本文不允许以纸质及电子出版为目的进行抄摘或改编。
1.《Python编程基础及应用》,陈波,刘慧君,高等教育出版社。免费授课视频 Python编程基础及应用
2.《Python编程基础及应用实验教程》, 陈波,熊心志,张全和,刘慧君,赵恒军,高等教育出版社Python编程基础及应用实验教程
3. 《简明C及C++语言教程》,陈波,待出版书稿。免费授课视频

1. 下载并安装mingw-w64编译器工具集

1.1 下载并解压缩

在多数Linux的发布版本中均内置了gcc编译器工具集,对于Windows,我们建议安装mingw。mingw-w64可以简单认为是gcc的Windows的64位迁移版。

点击下述链接下载压缩包:

http://codelearn.club/download/w64devkit-1.16.1.zip

这个压缩包包含下述版本的软件:

GCC 12.2.0
busybox-w32 FRP-4716
GDB 10.2
Mingw-w64 10.0.0
GNU Make 4.2
Vim 9.0
Universal Ctags 20200824
NASM 2.15.05
binutils 2.39
Cppcheck 2.8


在这里插入图片描述
下载完成后,选中该文件,然后点击“全部解压缩”(Windows 11, 在Windows 10上操作界面会稍有区别)。
在这里插入图片描述
选择合适的目录,然后点击“提取”。此处,我们建议目录名为c:\w64devkit或者d:\w64devkit,尽量避免在目录中包含空格,特殊符号或者中文。
在这里插入图片描述
解压缩完成后,得到上述目录结构。
在这里插入图片描述
打开其中的bin子目录,可以看到以gcc.exe为代表的工具集可执行文件。

1.2 添加环境变量

在Windows设置中找到系统属性(Windows 10, Windows 11流程有区别,请自行查询检索):
在这里插入图片描述
点击“环境变量”。
在这里插入图片描述
在系统变量中找到Path,然后点“编辑”。
在这里插入图片描述
增加如图所示的目录至该环境变量,然后点击“确定”。一直点击“确定”,直至关闭所有设置窗口。

注意:在读者的计算机上,如果实际的解压缩目录与作者的不一致,该目录应以实际情况为准。

1.3 使用测试

在这里插入图片描述
在键盘上按下Windows键,输入cmd进行搜索,点击“命令提示符”(在Windows 10上可能稍有区别)。
在这里插入图片描述
在命令提示符中输入gcc -v,然后按下Enter键,如果未报错并出现如图所示的运行结果,说明mingw-w64编译器工具集可以正常工作了。

  1. 下载Visual Studio Code
    Visual Studio Code是微软公司主导的开源程序设计工具,在工业界广受欢迎,有着广大的用户群体。

【简易下载】

http://codelearn.club/download/VisualStudioCodeInstaller.exe

这是我们缓存的版本,可能不是最新的。

【下载最新版本】

在浏览器中访问网址:https://code.visualstudio.com/,进入Microsoft Visual Studio Code的官方页面。
在这里插入图片描述
点击”Download for Windows”按钮右侧的下箭头,根据自己的计算机类型选择合适版本。作者的计算机运行着Windows x64版本,故点击选择Windows x64/User Installer/Stable版本(第2行蓝色下箭头)。
在这里插入图片描述
然后就进入了下载页面,由于相关服务器位于境外,下载速度极慢,极端情况下还会失败。所以作者选择右键单击“direct download link”,然后在弹出菜单中选择”复制链接地址”。
在这里插入图片描述
然后打开迅雷(也可以是其它下载工具),新建下载任务,粘接链接地址,并手工将文件名改为”VisualStudioCodeInstaller.exe”,接下来点击立即下载。
在这里插入图片描述
下载任务完成后,可在相关下载目录中找到这个安装文件。
在这里插入图片描述
3. 安装Visual Studio Code
双击VisualStudioCodeInstaller.exe以执行该安装程序。
在这里插入图片描述
上述对话框提示该程序将以非管理员模式进行,点击“确定”。
在这里插入图片描述
选择“我同意此协议”,点击”下一步“。
在这里插入图片描述通常选择默认目录,然后点击”下一步“。
在这里插入图片描述
点击下一步。
在这里插入图片描述
全部选项打勾,然后点击”下一步“。
在这里插入图片描述
点击”安装“。
在这里插入图片描述
然后等待一会儿。
在这里插入图片描述
弃选”运行Visual Studio Code”,然后点击”完成“。

4. 运行Visual Studio Code

在这里插入图片描述
如果在安装过程中勾选了“创建桌面快捷方式”, 则桌面上会有如图所示的图标。双击该图标,便可以运行Visual Studio Code。
在这里插入图片描述
如果必要,也可以在键盘上按下“Windows”按键,然后搜索”Visual Studio Code”, 找到后点击“打开”。
在这里插入图片描述
在作者的计算机上,Visual Studio Code的运行界面如图所示。 由于作者在先前曾多次安装过Visual Studio Code的稍早版本并做过一些设置,加之读者安装时的软件版本可能更新,所以读者看到的界面可能会与上图不完全一致。

5. 安装C/C++ Extension Pack插件

在Visual Studio Code的左侧工具栏中点击下述按钮:
在这里插入图片描述
在这里插入图片描述
使用关键词C/C++搜索并安装Microsoft的C/C++ Extension Pack,找到后点击”Install”。上图显示的是安装完成之后的状态。

6. 创建并运行第1个C++程序

在这里插入图片描述
在C盘或者D盘创建一个空的目录,用于存储程序文件。作者建议该目录的目录名不要包含任何特殊符号,空格或者中文,即只使用英文字母或数字。此处,作者的目录为C:\Demo。
在这里插入图片描述
在Visual Studio Code中选择File->Open Folder菜单项,定位并打开C:\Demo文件夹。
在这里插入图片描述
打开之后在Explorer中可以看到这个名为DEMO的空文件夹。
在这里插入图片描述
点击图中红框位置的按钮,新建一个文件。
在这里插入图片描述
文件名取名为1.cpp,然后按Enter键。
在这里插入图片描述
此时,可以看到1.cpp已经被打开,处于可编辑状态,录入如图所示的代码。1.cpp旁边的黑点表明该文件经过了编辑,但尚未保存。使用菜单File->Save或者组合键Ctrl + S保存文件后,黑点消失。

对于多数初学者来说,录入第1个程序是一项“有困难”的工作,初学者可以直接复制-粘贴下述代码。

#include <iostream>
using namespace std;

int main()
{
    cout << "第1个C++程序!" << endl;
    return 0;
}

在这里插入图片描述
如果C/C++ Extension Pack插件安装无误的话,可以在右上角看到一个三角形符号,它代表编译并运行当前打开的程序文件的意思。点击这个三角形按钮,可得下述选项。
在这里插入图片描述
一般来说,点击第1项即可。

在作者的计算机上,存在两个不同版本的mingw编译器,故有4个选项,在读者的计算机上,通常只会有前2项。
在这里插入图片描述

点击相关按钮后,下方Debug Console页中会显示整个编译,运行过程的摘要。

点击切换到Terminal页,可见程序的执行输出。

(如果看不到Terminal页,请缩小界面字体)
在这里插入图片描述
初学者请注意:编辑一个程序文件后,一定要先保存,后运行

7. Visual Studio Code的简单使用

在这里插入图片描述
在这里插入图片描述
使用组合键Ctrl+(左手先按下Ctrl键,右手按+号键),可以放大界面中的字体。

使用组合键Ctrl-(左手先按下Ctrl键,右手按-号键),可以缩小界面中的字体。
在这里插入图片描述
点击左侧的EXPLORER按钮(图中红框处),可以显示/隐藏目录框。
在这里插入图片描述
如果想关闭当前打开的程序文件夹,可以使用菜单File->Close Folder。
在这里插入图片描述
通过菜单File->Preferences->Color Theme,可以调整界面的配色方案,如果读者的界面是“黑黑”的,可以将配色方案调整为Light+。

显然,通过File->Preferences->Settings,可以进行更多深入的参数设置。

8. 提供用户输入

使用相同的方法创建新文件2.cpp,并录入下述代码:
在这里插入图片描述
代码复制-粘贴也可以:

#include <iostream>
using namespace std;

int main()
{
    string sName;
    cout << "请输入你的姓名:";
    cin >> sName;
    cout << sName << ",别害怕,努力就学得会!" << endl;
    return 0;
}

然后点击右上角的三角形运行按钮:
在这里插入图片描述
一切正常的话,在下方的Terminal页,可以看到代码第7行输出的输入提示信息。用鼠标在冒号后面点一下,会出现如图所示的黑色光标。
在这里插入图片描述
输入姓名信息,然后按Enter键。
在这里插入图片描述
此时,代码第8行的输入要求得到满足,程序第9行的输出信息打印到了终端上,程序运行结束。

注意:代码中的string类型不支持中文,所以这里你如果输入中文姓名的话,最终将得到乱码结果。

9. 创建一个纯C语言的程序

使用类似方法在C:\Demo新建一个程序文件,文件的扩展名为c。下图中,我们新建了程序文件3.c。
在这里插入图片描述
录入如图所示的代码并运行,可在Terminal页得到执行结果。

代码复制-粘贴也可以:

#include <stdio.h>

int main(){
    printf("C++的程序扩展名是cpp,C的程序扩展名是c。");
    return 0;
}

为了帮助更多的年轻朋友们学好编程,作者在B站上开了两门免费的网课,一门零基础讲Python,一门零基础C和C++一起学,拿走不谢!

简洁的C及C++
由编程界擅长教书,教书界特能编程的海洋饼干叔叔打造
Python编程基础及应用
由编程界擅长教书,教书界特能编程的海洋饼干叔叔打造

如果你觉得纸质书看起来更顺手,目前Python有两本,C和C++在出版过程中。

Python编程基础及应用

Python编程基础及应用实验教程

相关文章:

  • 昨天
  • 【Redis】Redis最佳实践:键值设计
  • OpenHD改造实现廉价高清数字图传(树莓派+PC)—(六)OSD和视频画面整合显示
  • 从0开始学c语言-33-动态内存管理
  • java详解队列
  • springboot - 2.7.3版本 - (八)ELK整合Kafka
  • uniCloud开发公众号:一、接收、解析、组装xml消息
  • YOLO系列目标检测算法-YOLOv1
  • JavaScript高级,ES6 笔记 第三天
  • 【雷达图】R语言绘制雷达图(ggradar),NBA季后赛数据为例
  • 机器学习笔记 - 在QT/PyTorch/C++ 中加载 TORCHSCRIPT 模型
  • redis 技术分享
  • 怎么让面试官喜欢你?
  • 深度学习模型理解-CNN-手写数据字代码
  • C# ZBar解码测试(QRCode、一维码条码)并记录里面隐藏的坑
  • 【Amaple教程】5. 插件
  • C++类中的特殊成员函数
  • Hibernate【inverse和cascade属性】知识要点
  • MySQL主从复制读写分离及奇怪的问题
  • Object.assign方法不能实现深复制
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Redis在Web项目中的应用与实践
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 基于webpack 的 vue 多页架构
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前言-如何学习区块链
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 如何胜任知名企业的商业数据分析师?
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • ###STL(标准模板库)
  • #include到底该写在哪
  • #Linux(帮助手册)
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #Lua:Lua调用C++生成的DLL库
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (算法)Game
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (轉)JSON.stringify 语法实例讲解
  • *1 计算机基础和操作系统基础及几大协议
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET 8.0 中有哪些新的变化?
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net framework4与其client profile版本的区别
  • .NET Project Open Day(2011.11.13)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...