C++ 学习之旅:环境搭建

C++ 学习之旅:环境搭建

在开启 C++ 学习的征程时,搭建好开发环境是关键的第一步。这篇博客将详细记录我在 C++ 环境搭建过程中的学习与实践,为了更直观展示操作步骤,还会添加相关操作图片描述。

一、了解 C++ 语言

在正式搭建环境前,深入了解 C++ 语言是很有必要的。

  1. C++ 语言诞生于 20 世纪 80 年代,由 Bjarne Stroustrup 在 C 语言的基础上开发而来。它继承了 C 语言的高效性和灵活性,同时引入了面向对象编程、泛型编程等特性,极大地增强了语言的表达能力。
  2. C++ 应用领域极为广泛,在系统软件、游戏开发、嵌入式系统、高性能计算等诸多领域都占据着重要地位。例如,Windows 操作系统、3A 游戏大作、航空航天领域的飞行模拟软件等,都离不开 C++ 的支持。

二、安装开发环境

开发 C++ 程序,我选择了 Visual Studio Code(VS Code)这款轻量级但功能强大的代码编辑器,当然 Visual Studio 也是不错的选择。

安装 Visual Studio Code
  1. 打开浏览器,进入 VS Code 官方网站https://code.visualstudio.com/
  2. 根据自己的操作系统(Windows、MacOS 或 Linux)下载对应的安装包。[可以插入不同操作系统下载按钮位置的截图,方便读者定位]
  3. 下载完成后,运行安装包,按照安装向导的提示完成安装。[依次插入安装向导每一步的截图,如欢迎界面、安装路径选择界面、安装进度界面等]
配置 C++ 编译工具链

安装好 VS Code 后,还需要配置 C++ 编译工具链,这里我选择使用 GCC。

  1. 对于 Windows 系统,可通过 MinGW 或 TDM - GCC 来安装 GCC。以 MinGW 为例,访问 MinGW 官方网站http://www.mingw.org/
  2. 运行安装程序,在安装过程中选择需要安装的组件,确保勾选 GCC 编译器相关选项。[插入组件选择界面截图,突出 GCC 编译器选项]
  3. 安装完成后,将 MinGW 的 bin 目录添加到系统环境变量中。这样在命令行中就可以直接调用 GCC 命令。[插入系统环境变量设置界面截图,展示添加 MinGW bin 目录的操作步骤]

三、创建、编译和运行简单 C++ 程序

当开发环境和编译工具链都准备就绪,就可以开始创建第一个 C++ 程序了。

  1. 打开 VS Code,点击 “文件”->“新建文件”,保存文件为hello.cpp。[插入 VS Code 界面截图,指示新建文件和保存文件的操作路径]
  2. 在文件中输入以下代码:
#include <iostream>
int main() 
{    std::cout << "Hello, C++!" << std::endl;    return 0;
}
  1. 编译运行程序。在 VS Code 中,可以通过安装 “C/C++” 扩展插件来实现编译和运行。安装完成后,按下Ctrl + Shift + B(Windows 和 Linux)或Command + Shift + B(MacOS),选择 GCC 编译器进行编译。[插入安装 “C/C++” 扩展插件的界面截图,以及按下快捷键后选择 GCC 编译器的界面截图] 编译成功后,会在终端中输出 “Hello, C++!”。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++前缀和】1074. 元素和为目标值的子矩阵数量|2189

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode1074. 元素和为目标值的子矩阵数量 给出矩阵 matrix 和目标值 target&#xff0c;返回元素总和等于目标值的非空子矩阵的数量。 子矩阵 x1, y1, x2, y2 是满…

HTTP/2 由来及特性

HTTP/2 的由来 HTTP/1.x 的局限性 性能瓶颈 队头阻塞问题&#xff1a;在HTTP/1.x中&#xff0c;一个TCP连接在同一时间只能处理一个请求&#xff0c;后续请求必须等待前面的请求处理完成并收到响应后才能被处理。例如&#xff0c;当一个页面有多个资源&#xff08;如图片、脚…

package.json 文件配置

创建 Node.js 的配置文件 package.json npm init -y package.json 文件配置说明 配置说明示例name指定项目的名称&#xff0c;必须是小写字母&#xff0c;可以包含字母、数字、连字符&#xff08;-&#xff09;或下划线&#xff08;_&#xff09;&#xff0c;不能有特殊字符…

Leetcode1728:猫和老鼠 II

题目描述&#xff1a; 一只猫和一只老鼠在玩一个叫做猫和老鼠的游戏。 它们所处的环境设定是一个 rows x cols 的方格 grid &#xff0c;其中每个格子可能是一堵墙、一块地板、一位玩家&#xff08;猫或者老鼠&#xff09;或者食物。 玩家由字符 C &#xff08;代表猫&#…

【安当产品应用案例100集】037-强化OpenVPN安全防线的卓越之选——安当ASP身份认证系统

在当前数字化时代&#xff0c;网络安全已成为企业发展的重要组成部分。对于使用OpenVPN的企业而言&#xff0c;确保远程访问的安全性尤为重要。安当ASP身份认证系统凭借其强大的功能和便捷的集成方式&#xff0c;为OpenVPN的二次登录认证提供了理想的解决方案&#xff0c;特别是…

基于进化式大语言模型的下一代漏洞挖掘范式:智能对抗与自适应攻防体系

摘要 本文提出了一种基于进化式大语言模型(Evolutionary LLM)的智能漏洞挖掘框架,突破了传统静态分析的局限,构建了具备对抗性思维的动态攻防体系。通过引入深度强化学习与多模态感知机制,实现了漏洞挖掘过程的自适应进化,在RCE、SQLi、XXE等关键漏洞类型的检测中达到97…

2025年数据资产管理解决方案:资料合集,从基础知识到行业应用的全面解析

在数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。如何有效地管理和利用这些数据&#xff0c;将其转化为实际的经济价值&#xff0c;已成为企业面临的重要课题。 本文将通过数据资产解决方案、数据资产行业报告白皮书、数据资产政策汇编、数据资产基础知识以及数据资…

【linux学习指南】模拟线程封装与智能指针shared_ptr

文章目录 &#x1f4dd;线程封装&#x1f309; Thread.hpp&#x1f309; Makefile &#x1f320;线程封装第一版&#x1f309; Makefile:&#x1f309;Main.cc&#x1f309; Thread.hpp: &#x1f320;线程封装第二版&#x1f309; Thread.hpp:&#x1f309; Main.cc &#x1f…

《深度LSTM vs 普通LSTM:训练与效果的深度剖析》

在深度学习领域&#xff0c;长短期记忆网络&#xff08;LSTM&#xff09;以其出色的处理序列数据能力而备受瞩目。而深度LSTM作为LSTM的扩展形式&#xff0c;与普通LSTM在训练和效果上存在着一些显著的不同。 训练方面 参数数量与计算量&#xff1a;普通LSTM通常只有一层或较少…

Java、Go、Rust、Node.js 的内存占比及优缺点分析

在选择编程语言进行项目开发时&#xff0c;内存占用是一个重要的考量因素。不同语言在内存管理、垃圾回收、并发模型等方面各有特点&#xff0c;影响着它们的内存使用情况。本文将对 Java、Go、Rust 和 Node.js 的内存占比进行对比&#xff0c;并分析它们的优缺点。 1. Java 的…

k8s的安装

1. k8s的安装 192.168.48.6 master01 192.168.481.6 node01 192.168.48.26 node02 三台机器一起操作 1.swapoff -a &#xff1a;关闭交换分区 2. iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X 3. cat > /etc/sy…

字节跳动大模型应用 Go 开发框架 —— Eino 实践

前言 开发基于大模型的软件应用&#xff0c;就像指挥一支足球队&#xff1a;组件是能力各异的队员&#xff0c;编排是灵活多变的战术&#xff0c;数据是流转的足球。Eino 是字节跳动开源的大模型应用开发框架&#xff0c;拥有稳定的内核&#xff0c;灵活的扩展性&#xff0c;完…

《手札·行业篇》开源Odoo MES系统与SKF Observer Phoenix API在化工行业的双向对接方案

一、项目背景 化工行业生产过程复杂&#xff0c;设备运行条件恶劣&#xff0c;对设备状态监测、生产数据采集和质量控制的要求极高。通过开源Odoo MES系统与SKF Observer Phoenix API的双向对接&#xff0c;可以实现设备状态的实时监测、生产数据的自动化采集以及质量数据的同步…

redis之数据库

文章目录 服务器中的数据库切换数据库数据库键空间读写键空间时的维护操作 设置键的生存时间或过期时间保存过期时间过期键的判定过期键删除策略清性删除策略的实现定期删除策略的实现 总结 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结…

dynamic_cast和static_cast和const_cast

dynamic_cast 在 C 中的作用 dynamic_cast 是 C 运行时类型转换&#xff08;RTTI, Run-Time Type Identification&#xff09;的一部分&#xff0c;主要用于&#xff1a; 安全的多态类型转换检查类型的有效性向下转换&#xff08;Downcasting&#xff09;跨类层次的指针或引用…

Qt文本高亮显示【QSyntaxHighlighter】功能代码讲解

QSyntaxHighlighter 是 Qt 框架中的一个重要类&#xff0c;专门用于为文本内容提供语法高亮功能。它广泛应用于文本编辑器、代码编辑器、日志查看器等应用程序中&#xff0c;允许开发者对文本中的不同部分应用不同的格式&#xff0c;如字体颜色、背景色、加粗等。通过这个类&am…

MS08067练武场--WP

免责声明&#xff1a;本文仅用于学习和研究目的&#xff0c;不鼓励或支持任何非法活动。所有技术内容仅供个人技术提升使用&#xff0c;未经授权不得用于攻击、侵犯或破坏他人系统。我们不对因使用本文内容而引起的任何法律责任或损失承担责任。 注&#xff1a;此文章为快速通关…

WPF正则表达式验证输入是否包含中文字母数字,不能是纯符号

1、验证纯中文 string pattern "[\u4e00-\u9fa5]"; // 创建Regex对象 Regex regex new Regex(pattern); // 判断输入字符串是否包含中文 if (!regex.IsMatch(name)) { //resultTextBlock.Text …

【Matlab优化算法-第13期】基于多目标优化算法的水库流量调度

一、前言 水库流量优化是水资源管理中的一个重要环节&#xff0c;通过合理调度水库流量&#xff0c;可以有效平衡防洪、发电和水资源利用等多方面的需求。本文将介绍一个水库流量优化模型&#xff0c;包括其约束条件、目标函数以及应用场景。 二、模型概述 水库流量优化模型…

《qt open3d中添加随机点采样》

qt open3d中添加随机点采样 效果展示二、流程三、代码效果展示 二、流程 创建动作,链接到槽函数,并把动作放置菜单栏 参照前文 三、代码 1、槽函数实现 void on_actionFilterRandomDownSample_triggered();void MainWindow::on_act