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

【C++实战①】开启C++实战之旅:从开发环境到Hello World

目录

  • 一、主流 C++ 开发环境介绍
    • 1.1 Visual Studio 的特点与适用场景
    • 1.2 Dev-C++ 的优势与局限性
    • 1.3 Code::Blocks 的跨平台特性
  • 二、Windows 系统下开发环境搭建步骤
    • 2.1 Visual Studio 的下载与安装流程
    • 2.2 环境变量配置方法
    • 2.3 验证环境是否搭建成功
  • 三、Linux 系统下开发环境搭建步骤
    • 3.1 GCC 与 G++ 编译器的安装
    • 3.2 Make 工具的配置
    • 3.3 简单编译命令测试
  • 四、第一个 C++ 实战程序:Hello World
    • 4.1 代码编写思路与规范
    • 4.2 程序编译与运行过程
    • 4.3 常见错误排查与解决


一、主流 C++ 开发环境介绍

1.1 Visual Studio 的特点与适用场景

Visual Studio 是微软开发的一款功能强大的集成开发环境(IDE),主要用于创建各种类型的软件,包括 Windows 应用程序、Web 应用、游戏、移动应用等。它支持几乎所有主流编程语言,例如 C++、C#、JavaScript、TypeScript、Python 等,也支持跨平台开发和 AI 辅助开发等协作功能。

Visual Studio 具有全面的语言支持,能满足开发者多元化的需求。它提供了完整的编码、调试、构建、测试以及版本控制等功能,帮助开发者从开始到结束高效地完成项目。强大的 IntelliSense 系统可以提供实时代码补全、错误检查和建议,提高编写代码的效率。对于 UI 设计,Visual Studio 包含拖放式控件布局、WPF 和 XAML 支持,方便快速开发用户界面。通过 Visual Studio Code(VSCode)和 Xamarin 技术,还可以在 Android、iOS 等多个平台上构建和部署应用程序。另外,Visual Studio Online(VSO)提供了云端协作功能,团队成员可以共享代码、管理任务和工作流。

由于其强大的功能和丰富的工具集,Visual Studio 适用于大型项目的开发,尤其是 Windows 桌面应用程序的开发。它能够很好地支持团队协作开发,提高开发效率和代码质量。例如,在开发大型企业级软件、游戏开发等场景中,Visual Studio 可以充分发挥其优势。

1.2 Dev-C++ 的优势与局限性

Dev-C++ 是一款经典的 C++ 开发环境,基于 MinGW 和 Cygwin,提供了基本的编译和调试功能。它具有轻巧的特点,安装包通常较小,对系统资源的占用较低,能够快速启动,适合在配置较低的计算机上使用。Dev-C++ 是开源软件,用户可以自由获取其源代码,并且有活跃的社区支持,开发者可以在社区中获取帮助、分享经验和获取插件等资源。其界面简洁,易于上手,对于初学者来说,能够快速熟悉开发环境,专注于学习 C++ 语言本身,非常适合作为学习 C++ 编程的入门工具。

不过,Dev-C++ 的调试功能相对较弱,对于复杂项目的调试支持不够完善,难以满足专业开发中对深入调试的需求。它在处理大型工程时,功能和性能上存在一定局限,例如项目管理、代码导航、智能提示等方面不如一些专业的大型 IDE,不太适合用于大型项目的开发。此外,虽然 Dev-C++ 理论上支持跨平台,但主要还是面向 Windows 用户,在其他操作系统上的使用体验和支持程度有限。

1.3 Code::Blocks 的跨平台特性

Code::Blocks 是一个开源、跨平台的集成开发环境,被广泛用于 C/C++ 语言的开发,同时也支持其他语言的插件。它可以在 Windows、Linux 以及 Mac OS X 等多个操作系统上运行,这意味着开发者可以在不同的操作系统上使用相同的开发环境和工具,降低了平台切换的学习成本和开发效率损失,非常适合需要在多个平台上进行开发和测试的用户。

Code::Blocks 能够支持多种编译器,包括 Microsoft Visual C++(VC++)、GNU Compiler Collection(G++)、GNU C Compiler(GCC)等。这一特性使得开发者能够根据项目需求和个人偏好选择最适合的编译器,同时也能够轻松地在不同的编译器之间切换,无需改变开发环境。它还拥有强大的插件系统,用户可以通过安装各种插件来扩展 IDE 的功能,满足自己的特定需求,这种可扩展性不仅提供了更多的开发工具和特性,还保持了 IDE 的轻量级和高效性。在编码过程中,Code::Blocks 的代码编辑器支持语法高亮、代码折叠等功能,能够帮助开发者更清晰地阅读和编写代码,集成的调试工具也能方便开发者进行程序调试。

二、Windows 系统下开发环境搭建步骤

2.1 Visual Studio 的下载与安装流程

  1. 下载:打开浏览器,访问微软 Visual Studio 官方下载页面(https://visualstudio.microsoft.com/zh-hans/downloads/ )。这里提供了多个版本,如 Visual Studio Community(社区版,免费,适合个人开发者、学生和开源项目)、Visual Studio Professional(专业版,适合小型团队)和 Visual Studio Enterprise(企业版,适合大型团队和企业级开发)。根据自身需求选择对应的版本,点击 “下载” 按钮。以社区版为例,下载完成后,在 “下载” 文件夹中会得到一个名为 “vs_community.exe” 的可执行文件。
  2. 安装:双击运行下载好的安装程序 “vs_community.exe”。在弹出的安装界面中,点击 “继续”,接受软件许可条款。接着进入 “工作负载” 选择页面,这里列出了各种开发场景所需的工具和组件集合。如果主要进行 C++ 开发,勾选 “使用 C++ 的桌面开发” 选项,该选项会自动包含 C++ 开发所需的核心组件,如 C++ 编译器、调试器等。此外,还可以根据个人需求选择其他组件,如 “通用 Windows 平台开发” 用于开发 Windows 应用商店应用,“ASP.NET和 Web 开发” 用于 Web 应用开发等。选择好组件后,点击右下角的 “安装” 按钮。
  3. 等待安装完成:安装过程可能需要一定时间,具体取决于电脑的性能和网络速度。在安装过程中,会显示实时进度条以及正在下载和安装的组件列表。安装完成后,点击 “启动” 按钮,或者在开始菜单中找到 Visual Studio 图标并双击打开它。首次启动时,系统可能会要求登录 Microsoft 账户,如果没有账户,可以选择 “创建一个新的 Microsoft 账户” 或 “稍后登录”。

2.2 环境变量配置方法

配置环境变量的目的是让系统能够找到 Visual Studio 相关的可执行文件、库文件等,从而在任何位置都能方便地使用 Visual Studio 的工具。

  1. 打开环境变量设置窗口:右键点击 “此电脑”,选择 “属性”,在弹出的窗口中点击 “高级系统设置”。在 “系统属性” 窗口中,点击下方的 “环境变量” 按钮。
  2. 编辑系统变量中的 Path 变量:在 “环境变量” 窗口的 “系统变量” 区域中,找到名为 “Path” 的变量,选中它并点击 “编辑” 按钮。在弹出的 “编辑环境变量” 窗口中,点击 “新建”,然后添加 Visual Studio 安装目录下的相关路径。假设 Visual Studio 安装在 “C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x64”(版本不同路径可能有差异),则将此路径添加进去。添加完成后,点击 “确定” 保存设置。如果还需要添加其他与 Visual Studio 相关的路径(如库文件路径),同样按照上述方法进行添加。
  3. 新建其他必要变量(可选):根据项目的具体需求,有时可能还需要新建其他环境变量。例如,如果项目中使用了特定的库,需要将库的路径添加到环境变量中。假设某个库安装在 “C:\MyLibrary”,则可以新建一个名为 “MY_LIBRARY_PATH” 的环境变量,其值设置为 “C:\MyLibrary”。新建变量的方法是在 “环境变量” 窗口中点击 “新建”,在弹出的窗口中输入变量名和变量值,然后点击 “确定”。

2.3 验证环境是否搭建成功

  1. 新建项目:打开 Visual Studio,在启动界面中点击 “创建新项目”。在 “创建新项目” 窗口中,选择 “C++” 语言,然后在项目模板列表中选择 “控制台应用”,点击 “下一步”。在 “配置新项目” 页面,输入项目名称(例如 “TestProject”),选择项目保存的位置,然后点击 “创建”。
  2. 编写测试代码:项目创建完成后,在 Visual Studio 的代码编辑器中会自动打开一个名为 “main.cpp” 的文件。在文件中输入以下简单的 C++ 代码:
#include <iostream>
int main()
{std::cout << "Hello, Visual Studio!" << std::endl;return 0;
}
  1. 编译和运行程序:点击菜单栏中的 “调试”,选择 “开始执行 (不调试)”(快捷键 Ctrl+F5),或者直接点击工具栏上的绿色三角形 “本地 Windows 调试器” 按钮旁边的下拉箭头,选择 “开始执行 (不调试)”。如果环境搭建成功,会弹出一个命令行窗口,显示程序的输出结果:“Hello, Visual Studio!”。如果编译过程中出现错误,会在 “错误列表” 窗口中显示错误信息,根据错误提示检查环境变量配置、代码语法等是否正确。

三、Linux 系统下开发环境搭建步骤

3.1 GCC 与 G++ 编译器的安装

在 Linux 系统中,GCC(GNU Compiler Collection)是最常用的编译器集合,其中 g++ 是用于编译 C++ 程序的编译器。不同的 Linux 发行版安装 GCC 和 g++ 的方式略有不同:

  • Ubuntu 系统
    Ubuntu 使用 apt 包管理器来安装软件。打开终端,输入以下命令来更新软件源列表并安装 GCC 和 g++:
sudo apt update
sudo apt install build - essential

build - essential是一个元包,它包含了编译 C 和 C++ 程序所需的基本工具,如 GCC、g++、make 等。安装完成后,可以通过以下命令检查版本来验证是否安装成功:

gcc -v
g++ -v

如果需要安装特定版本的 GCC 和 g++,例如安装 GCC 11 和 g++ 11,可以使用以下命令:

sudo add - apt - repository ppa:ubuntu - toolchain - r/test
sudo apt update
sudo apt install gcc - 11 g++ - 11

安装完成后,可以使用update - alternatives命令来配置默认的 GCC 和 g++ 版本:

sudo apt install update - alternatives
sudo update - alternatives --install /usr/bin/gcc gcc /usr/bin/gcc - 11 60 --slave /usr/bin/g++ g++ /usr/bin/g++ - 11
  • CentOS 系统
    CentOS 使用 yum 包管理器。对于默认版本的 GCC 和 g++ 安装,可以执行以下命令:
sudo yum install gcc
sudo yum install gcc - c++

gcc - c++软件包包含了 g++ 编译器。安装完成后,同样使用gcc -v和g++ -v命令来检查安装是否成功。

若要安装更高版本的 GCC 和 g++,比如 GCC 8 和 g++ 8,可以按照以下步骤:
首先安装 Software Collections 仓库:

sudo yum install -y centos - release - scl

然后安装新版编译器套件:

sudo yum install -y devtoolset - 8 - gcc - c++

安装完成后,默认的 GCC 和 g++ 版本不会立即改变。如果要临时启用新版编译器,可以执行:

scl enable devtoolset - 8 bash

如果希望永久启用新版编译器(需重启终端),可以将以下命令添加到.bashrc文件中:

echo "source /opt/rh/devtoolset - 8/enable" >> ~/.bashrc

3.2 Make 工具的配置

Make 是一个在 Linux 和 Unix 系统下广泛使用的自动化构建工具,它通过读取名为 Makefile 的文件来决定如何编译和链接程序。Makefile 中定义了一系列的规则,这些规则指定了如何将源代码文件转换为目标文件,以及如何将目标文件链接成可执行文件。Make 工具的核心是自动确定哪些文件需要重新编译,以及如何执行这些编译任务,大大简化了软件开发工作,提高了开发效率。

在大多数 Linux 发行版中,Make 通常已经预装。如果没有安装,可以通过包管理器进行安装:

  • 基于 Debian 的系统(如 Ubuntu)
sudo apt update
sudo apt install make
  • 基于 Red Hat 的系统(如 CentOS)
sudo yum install make

安装完成后,可以通过运行make --version命令来验证 Make 是否成功安装,并查看安装的版本。

下面是一个简单的 Makefile 示例,用于编译一个 C++ 程序:
假设我们有一个名为main.cpp的源文件,要生成一个名为app的可执行文件。创建一个名为Makefile(注意文件名大小写,且无文件后缀)的文件,内容如下:

# 定义编译器
CC = g++
# 定义编译器标志,-Wall表示开启所有警告
CFLAGS = -Wall
# 定义目标文件
TARGET = app
# 定义源文件,$(wildcard *.cpp)会自动获取当前目录下所有的.cpp文件
SRC = $(wildcard *.cpp)all: $(TARGET)$(TARGET): $(SRC)$(CC) $(CFLAGS) -o $(TARGET) $(SRC)clean:rm -f $(TARGET) *.o

在这个 Makefile 中:

  • all是默认目标,它依赖于$(TARGET),即最终生成的可执行文件app。
  • $(TARGET)依赖于所有的源文件$(SRC),通过$(CC) $(CFLAGS) -o $(TARGET) $(SRC)命令来编译生成可执行文件。其中$(CC)是定义的编译器 g++,$(CFLAGS)是编译器标志,-o指定输出的可执行文件名,$(SRC)是源文件列表。
  • clean是一个伪目标,用于清理生成的文件,通过rm -f $(TARGET) *.o命令删除可执行文件和目标文件(.o文件是编译过程中生成的中间文件)。

在命令行中,进入包含 Makefile 的目录,执行make命令,Make 工具会自动读取 Makefile 并按照规则进行编译。如果要清理生成的文件,执行make clean命令即可。

3.3 简单编译命令测试

接下来进行一个简单的 C++ 编译命令测试。编写一个简单的 C++ 程序,内容如下,保存为test.cpp:

#include <iostream>
int main()
{std::cout << "Hello, Linux C++!" << std::endl;return 0;
}

使用 g++ 命令进行编译,命令如下:

g++ -o test test.cpp

这里-o选项指定生成的可执行文件名为test,后面跟着源文件名test.cpp。如果编译过程中没有错误,会在当前目录下生成一个名为test的可执行文件。运行该可执行文件,命令如下:

./test

运行后,终端会输出Hello, Linux C++!,表明编译和运行成功。如果编译过程中出现错误,g++ 会在终端输出错误信息,根据错误提示检查代码语法、头文件包含等问题进行修改。

四、第一个 C++ 实战程序:Hello World

4.1 代码编写思路与规范

“Hello World” 是编程语言中最经典的入门程序,用于向初学者展示语言的基本语法和运行方式。在 C++ 中,编写 “Hello World” 程序的基本思路如下:

  1. 包含必要的头文件:在 C++ 中,输入输出操作依赖于<iostream>头文件,因此需要在程序开头包含它,使用#include <iostream>语句。其中,#include是预处理指令,用于将指定的头文件内容包含到当前源文件中,<iostream>是 C++ 标准库中的输入输出流头文件,提供了cin(输入)和cout(输出)等对象。
  2. 使用命名空间:<iostream>头文件中的cin和cout等对象定义在std命名空间中。为了在代码中直接使用这些对象,可以在文件开头添加using namespace std;语句,表示使用std命名空间。当然,也可以不使用using namespace语句,而是在每次使用cin和cout时,通过std::cin和std::cout的方式明确指定命名空间。
  3. 定义主函数:C++ 程序从main函数开始执行,main函数的返回类型必须是int,函数体用花括号{}括起来。在main函数中,编写程序的主要逻辑。
  4. 输出 “Hello World”:使用cout对象和<<操作符将字符串 “Hello World” 输出到标准输出设备(通常是控制台),并在末尾添加换行符endl,endl是std命名空间中的一个操纵符,用于换行并刷新输出缓冲区,完整的语句为std::cout << “Hello World” << std::endl;。
  5. 返回值:在main函数的末尾,使用return 0;语句返回一个整数值,表示程序正常结束。在 C++ 中,返回值0通常表示程序运行成功,非零值表示程序运行出现错误。

以下是一个遵循上述思路和规范的 “Hello World” 代码示例:

#include <iostream>
using namespace std;int main()
{cout << "Hello World" << endl;return 0;
}

在代码规范方面,需要注意以下几点:

  • 命名规范:变量名、函数名、类名等标识符应具有描述性,能够清晰表达其用途,尽量避免使用单字母或无意义的命名。例如,用studentName表示学生姓名,而不是用a或temp等模糊名称。变量名一般采用小驼峰命名法(camelCase),类名采用大驼峰命名法(PascalCase)。
  • 缩进和空格:使用统一的缩进风格,一般建议使用 4 个空格进行缩进,以增强代码的层次感和可读性。在运算符两侧添加适当的空格,如a + b,而不是a+b,使代码更清晰易读。
  • 注释:在代码中添加适当的注释,解释代码的功能和逻辑,有助于他人理解代码,也方便自己日后维护。例如,在Hello World程序中,可以在关键语句旁添加注释,说明其作用。

4.2 程序编译与运行过程

在不同的开发环境中,编译和运行 “Hello World” 程序的操作略有不同:

  • Visual Studio:在 Visual Studio 中创建一个新的 C++ 项目(如控制台应用程序)后,将上述 “Hello World” 代码粘贴到main.cpp文件中。点击菜单栏中的 “调试”,选择 “开始执行 (不调试)”(快捷键 Ctrl+F5),或者直接点击工具栏上的绿色三角形 “本地 Windows 调试器” 按钮旁边的下拉箭头,选择 “开始执行 (不调试)”。如果代码没有错误,会弹出一个命令行窗口,显示 “Hello World” 的输出结果。
  • Code::Blocks:打开 Code::Blocks,新建一个 C++ 项目,将代码输入到主源文件中。点击菜单栏中的 “构建”,选择 “构建并运行”(快捷键 F9),Code::Blocks 会编译代码并运行生成的可执行文件,在输出窗口中显示 “Hello World”。
  • Linux 命令行:使用文本编辑器(如vim或nano)创建一个名为hello.cpp的文件,将 “Hello World” 代码写入其中。保存文件后,在终端中使用g++命令进行编译,命令为g++ -o hello hello.cpp,其中-o选项指定生成的可执行文件名为hello。编译成功后,运行可执行文件,命令为./hello,即可在终端中看到 “Hello World” 的输出。

4.3 常见错误排查与解决

在编译和运行 “Hello World” 程序时,可能会遇到以下常见错误:

  • 语法错误:例如遗漏分号、括号不匹配、关键字拼写错误等。编译器会在编译过程中提示语法错误,错误信息通常会指出错误所在的行号和大致原因。例如,将cout << “Hello World” << endl;写成cout << “Hello World” << end,编译器会提示 “未定义的标识符‘end’”,这时需要检查代码,补充正确的endl。解决语法错误的方法是仔细阅读错误提示,对照 C++ 语法规则,逐一检查代码中的错误点。
  • 链接错误:如果程序中使用了外部库,但没有正确链接库文件,会导致链接错误。在 “Hello World” 程序中,一般不会涉及链接外部库的问题,但如果包含了自定义的头文件和源文件,且没有正确配置项目,可能会出现链接错误。例如,在项目中包含了一个自定义函数,但没有将定义该函数的源文件添加到项目中,编译时会提示 “未定义的引用” 错误。解决链接错误需要检查项目的配置,确保所有相关的源文件都被正确包含,并且链接了必要的库文件。
  • 头文件包含错误:如果头文件路径错误、头文件不存在或重复包含头文件,都可能导致编译错误。例如,将#include <iostream>写成#include <ioStream>(大小写错误),编译器会提示找不到该头文件。解决头文件包含错误,要确保头文件的名称和路径正确,并且避免重复包含头文件,可以使用#ifndef、#define和#endif预处理指令来防止头文件的重复包含。

文章转载自:

http://tCrgE3NF.Lsfbb.cn
http://O9xicVxS.Lsfbb.cn
http://f9Jfcc2s.Lsfbb.cn
http://Qz861fRY.Lsfbb.cn
http://2snwzpVw.Lsfbb.cn
http://PnwYqKmA.Lsfbb.cn
http://P9lYRNGl.Lsfbb.cn
http://OMjqWd8r.Lsfbb.cn
http://qdFrsxaB.Lsfbb.cn
http://CVyVesFw.Lsfbb.cn
http://8wFE1AMb.Lsfbb.cn
http://KTBDf2i8.Lsfbb.cn
http://9vgjvW3C.Lsfbb.cn
http://iCdz9JpG.Lsfbb.cn
http://pmMw8wdx.Lsfbb.cn
http://EKPcSDhz.Lsfbb.cn
http://akQ7schw.Lsfbb.cn
http://sMdKHerm.Lsfbb.cn
http://SHsrUbvm.Lsfbb.cn
http://ls6d1ho5.Lsfbb.cn
http://iTrIxGRQ.Lsfbb.cn
http://wF7s3oOu.Lsfbb.cn
http://HJDT0bwf.Lsfbb.cn
http://pWjqBn04.Lsfbb.cn
http://C2gbAopV.Lsfbb.cn
http://b9BLzIne.Lsfbb.cn
http://897He3xA.Lsfbb.cn
http://MOjSjfM3.Lsfbb.cn
http://ObPnRm7i.Lsfbb.cn
http://1WrhL4Qc.Lsfbb.cn
http://www.dtcms.com/a/380406.html

相关文章:

  • 1047. 删除字符串中的所有相邻重复项(栈与队列算法题)
  • MySQL一条SQL的执行流程详细解析。
  • 深度学习打卡第N6周:中文文本分类-Pytorch实现
  • vue3项目打包报错
  • 前端跨域以及解决方案
  • 深度理解P-R曲线和ROC曲线
  • secp256k1 椭圆曲线密码学算法
  • 四大经典案例,入门AI算法应用,含分类、回归与特征工程|2025人工智能实训季初阶赛
  • 两种常用的抗单粒子翻转动态刷新方法
  • 【FPGA开发工具】HLS中AXI4-Stream接口的使用
  • 头条号矩阵运营经验访谈记录
  • LeetCode 378 - 有序矩阵中第 K 小的元素
  • LeetCode算法日记 - Day 39: 在每个数行中找最大值、最后一块石头的重量
  • “能量逆流泵”:一种基于电容阵与开关矩阵的超高效大功率降压架构
  • 软件无线电-AD9361 璞致 PZSDR 软件无线电系列板卡之PZ-FL9361(FMCOMMS3)使用说明
  • Logseq+cpolar:让开源笔记效率翻倍
  • 国产操作系统之鸿蒙操作系统(PC端)的安装与使用
  • 【学习】vue监听属性
  • 把多个 PPT 合并在一起,三步告别复制粘贴
  • 最终的信号类
  • 技术为景,架构为用:论存储过程+JSON范式在企业级系统中的理性回归
  • Bug排查日记
  • 混沌工程——终止开关(Kill Switch)
  • A股大盘数据-20250912分析
  • 花漾TK更新:邀约管理、花漾TK插件大幅增强等(20250905)
  • Android,Jetpack Compose,坦克大战游戏案例Demo
  • 接口测试面试题
  • PDF转Word在线转换教程:多种实用方法分享
  • 【代码随想录算法训练营——Day10】栈与队列——232.用栈实现队列、225.用队列实现栈、20.有效的括号、1047.删除字符串中的所有相邻重复项
  • 【Luogu】P2613 【模板】有理数取余