This commit is contained in:
许大仙 2024-08-11 13:40:37 +08:00
parent e2b32dccbe
commit 67e3df2432

View File

@ -1,6 +1,6 @@
# 第一章:开发环境的安装和配置(⭐)
## 1.1 环境的安装和配置
## 1.1 编译器的安装和配置
### 1.1.1 概述
@ -26,6 +26,7 @@
>
> * ① MinGW-w64 、Cygwin 以及 MSYS2 任选其一安装即可。
> * ② 目前的 Win10 和 Win11 版本支持 WSL2 Windows Sub Linux 2 ,即 Windows 的子系统 Linux可以实现在 Windows 系统上安装一个 Linux ,然后再运行 Linux 中的 GCC 工具链。
> * ③ 本人的操作系统是 Win11 ,安装和配置都将以该系统为基础作为演示,后续不再赘述!!!
### 1.1.2 MinGW-w64 的安装和配置
@ -153,16 +154,26 @@ gcc --version
![](./assets/32.png)
> [!NOTE]
>
> 可能很多人,会遇到安装到 `50%` 就一直卡死在那边,不用慌,关闭它,再次重新安装即可。
![](./assets/33.png)
* 出现命令终端:
![](./assets/34.png)
> [!NOTE]
>
> 如果没有出现命令终端,也不要慌,去 Win11 操作系统的`开始`菜单,那边找一下,就能找到。
* 替换清华镜像源(可选):
```shell
sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
sed -i \
"s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" \
/etc/pacman.d/mirrorlist*
```
![](./assets/35.gif)
@ -187,15 +198,37 @@ pacman -Sy mingw-w64-x86_64-toolchain --noconfirm # 安装开发 gcc 相关工
* 和 `3.1.2.2 配置 path 环境变量` 步骤相同:略。
## 1.2 IDE 的安装和配置
## 1.2 什么是 IDE集成开发环境
### 1.2.1 CLion
* 在实际开发中,除了`编译器`是必须安装的工具之外,我们往往还需要其他的辅助软件,如下所示:
* 编辑器:用来编写代码,并且给代码着色,以方便阅读。
* 代码提示器:输入部分代码,即可提示全部代码,加速代码的编写过程。
* 调试器:观察程序的每一个运行步骤,发现程序的逻辑错误。
* 项目管理工具:对程序涉及到的所有资源进行管理,包括:源文件、图片、视频、第三方库等。
* 漂亮的界面:各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便。
#### 1.2.1.1 概述
* 这些工具通常被打包在一起统一安装和发布Visual Studio、CLion 以及 VS Code 通常为集成开发环境IDEIntegrated Development Environment
> [!NOTE]
>
> * ① IDE集成开发环境就是一系列开发工具的组合套装。
> * ② IDE 开箱即用,即安装完毕之后,稍微配置一下就可以使用,不需要手动编译一个个的源文件,只需要点几下界面上的按钮就可以了。
> * ③ 严格来讲, VS Code 属于编辑器,而不是 IDE但是可以通过安装插件来完成 IDE 的功能;而 Visual Studio 和CLion 属于 IDE。
> * ④ 在实际开发中,使用 IDE 并不是一种丢人的事情。一些有人在网上吹:“学习编程,刚开始需要使用`记事本`或 `vi`等简单的编辑器软件,不要使用 IDE ”,目的可能是为了让初学者熟悉基础的编程概念和语法,并避免依赖 IDE 的辅助功能。但是,这种方法或许可以起到锻炼基础技能的功能,但这并不意味着 IDE 就不适合初学者。事实上,许多 IDE 还提供了初学者友好的界面和工具,可以帮助新手更快地入门和理解编程。
## 1.3 IDE 的安装和配置
### 1.3.1 CLion
#### 1.3.1.1 概述
* [CLion](https://www.jetbrains.com/clion/) 是一款由 JetBrains 推出的跨平台 C/C++ 集成开发环境IDE它具有智能编辑器、CMake 构建支持、调试器、单元测试、代码分析等功能,可以极大提高 C/C++ 开发效率。
#### 1.2.1.2 安装
> [!NOTE]
>
> 本次,演示的 CLion 的安装版本是 2024.1.4 ,后续版本可能会更新,但是操作几乎不会发生太多变化!!!
#### 1.3.1.2 安装
* 鼠标双击,进入安装:
@ -221,7 +254,7 @@ pacman -Sy mingw-w64-x86_64-toolchain --noconfirm # 安装开发 gcc 相关工
![](./assets/42.png)
#### 1.2.1.3 配置
#### 1.3.1.3 配置
* 打开 CLion
@ -267,9 +300,9 @@ pacman -Sy mingw-w64-x86_64-toolchain --noconfirm # 安装开发 gcc 相关工
![](./assets/54.png)
### 1.2.2 VS Code
### 1.3.2 VS Code
#### 1.2.2.1 概述
#### 1.3.2.1 概述
* [Visual Studio Code (VS Code)](https://code.visualstudio.com/) 是一个免费的开源代码编辑器,适用于 Windows、MacOS 和 Linux 平台。它支持语法高亮、智能代码补全IntelliSense、内置调试工具和Git集成。用户可以通过扩展来添加更多功能支持新的编程语言、主题和调试工具。VS Code 还支持在微软 Azure 上进行部署和托管,适用于各种编程语言和框架。
@ -277,7 +310,7 @@ pacman -Sy mingw-w64-x86_64-toolchain --noconfirm # 安装开发 gcc 相关工
>
> Visual Studio Code 需要安装对应的插件,才能运行 C/C++ 代码。
#### 1.2.2.2 安装
#### 1.3.2.2 安装
* 鼠标双击,进入安装:
@ -311,7 +344,7 @@ pacman -Sy mingw-w64-x86_64-toolchain --noconfirm # 安装开发 gcc 相关工
![](./assets/62.png)
#### 1.2.2.3 配置
#### 1.3.2.3 配置
* 安装`中文`插件:
@ -325,19 +358,16 @@ pacman -Sy mingw-w64-x86_64-toolchain --noconfirm # 安装开发 gcc 相关工
![](./assets/66.png)
### 1.2.3 Microsoft Visual Studio
### 1.3.3 Microsoft Visual Studio
#### 1.2.3.1 概述
#### 1.3.3.1 概述
* [Visual Studio](https://visualstudio.microsoft.com/)(简称 VS是由微软公司发布的集成开发环境。它包括了整个软件生命周期中所需要的大部分工具UML工具、代码管控工具、集成开发环境IDE等。
* Visual Studio 支持 C/C++、C#、F#、VB 等多种程序语言的开发和测试可以用于生成Web应用程序也可以生成桌面应用程序功能十分强大但下载和安装很可能耗时数小时还可能会塞满磁盘。
* Visual Studio 2022 有三种版本:社区版(免费,不支持企业使用),专业版(第一年 1199 美元/ 799 美元续订)和企业版(第一年 5999 美元/ 2569 美元续订)。企业版拥有面向架构师的功能、高级调试和测试,这些功能是另两种 SKU 所没有的。
* Visual Studio 旨在成为世界上最好的 IDE集成开发环境目前最新版本为 Visual Studio 2022。
#### 1.2.3.2 安装
#### 1.3.3.2 安装
* 鼠标双击,进入安装:
@ -387,7 +417,7 @@ pacman -Sy mingw-w64-x86_64-toolchain --noconfirm # 安装开发 gcc 相关工
![](./assets/78.png)
#### 1.2.3.3 配置
#### 1.3.3.3 配置
* 在开始菜单处,启动 VS
@ -607,19 +637,19 @@ int main(){
* 目前而言,主流的桌面操作系统就是 Windows、Linux 和 MacOS 。
* 对于 Windows 而言,使用的最多的 C/C++ 编译器是 `MSVC` Microsoft Visual C++),被集成在 Visual Studio 开发环境中,其特点如下:
* ① **兼容性**: 与 Windows 操作系统和 Windows API 深度集成,生成的二进制文件为 PE 格式。
* ② **调试工具**: 提供强大的调试工具Visual Studio Debugger。
* ③ **优化**: 支持各种编译器优化,特别是针对 Windows 平台的优化。
* ④ **库支持**: 提供丰富的 Windows 专用库,如:~~MFCMicrosoft Foundation Class Library~~。
* ① 兼容性: 与 Windows 操作系统和 Windows API 深度集成,生成的二进制文件为 PE 格式。
* ② 调试工具: 提供强大的调试工具Visual Studio Debugger。
* ③ 优化: 支持各种编译器优化,特别是针对 Windows 平台的优化。
* ④ 库支持: 提供丰富的 Windows 专用库,如:~~MFCMicrosoft Foundation Class Library~~。
> [!NOTE]
>
> MSVC 不开源,我们可以使用 Visual Studio Community 社区版,但是如果想使用 Visual Studio Community 社区版生成出来的应用进行商用,就需要好好阅读微软的许可证和说明书了。
* 对于 Linux 而言,使用的最多的 C/C++ 编译器是 `GCC`(支持多种架构和语言),并且很多 Linux 发行版本都将 GCC 作为默认的编译器,其特点如下所示:
* ① **广泛支持**: 支持各种 Linux 发行版,是大多数开源项目的默认编译器。
* ② **强大的优化**: 提供各种编译优化选项,适合多种性能需求的开发。
* ③ **丰富的工具链**: 和 GDBGNU 调试器、Make、Autoconf 等工具无缝集成。
* ① 广泛支持: 支持各种 Linux 发行版,是大多数开源项目的默认编译器。
* ② 强大的优化: 提供各种编译优化选项,适合多种性能需求的开发。
* ③ 丰富的工具链: 和 GDBGNU 调试器、Make、Autoconf 等工具无缝集成。
> [!NOTE]
>
@ -629,12 +659,10 @@ int main(){
> * ② Cygwin 是一个在 Windows 上运行的类 Unix 环境,它提供了一套完整的 POSIX 兼容工具,包括 GCC 编译器。
> * ③ MSYS2 是一个在 Windows 上运行的轻量级、开源的 Unix-like 环境,它为 Windows 用户提供了类似于 Linux 的开发环境。MSYS2 是 MinGW 和 Cygwin 的后继者,旨在提供更现代化和更强大的开发工具集。
* 对于 MacOS 而言,使用的最多的 C/C++ 编译器是 `Clang/LLVM`,其特点如下:
* ① **Xcode 集成**: 深度集成到 Xcode 中,支持 Apple 的所有平台macOS、iOS、tvOS、watchOS的开发。
* ② **优化和兼容**: 生成的代码针对 Apple 的硬件进行优化,并兼容 GCC 的大部分功能。
* ③ **现代化**: Clang 提供了对 C 语言标准的全面支持,并且以其快速的编译速度和易读的错误报告而著称。
* ① Xcode 集成: 深度集成到 Xcode 中,支持 Apple 的所有平台macOS、iOS、tvOS、watchOS的开发。
* ② 优化和兼容: 生成的代码针对 Apple 的硬件进行优化,并兼容 GCC 的大部分功能。
* ③ 现代化: Clang 提供了对 C 语言标准的全面支持,并且以其快速的编译速度和易读的错误报告而著称。
> [!NOTE]
>
@ -1279,11 +1307,11 @@ build
>
> * ② `预处理`是编译过程的第一个阶段。在这个阶段,预处理器处理源代码中的指令(例如:`#include`、`#define`等),主要任务包括:
>
> * **头文件包含**:将头文件的内容插入到源文件中。例如:`#include <stdio.h>`会被替换为`stdio.h`文件的内容。
> * **宏展开**:替换宏定义。例如:`#define PI 3.14`会将代码中的`PI`替换为`3.14`。
> * **条件编译**:根据条件指令(如:`#ifdef`、`#ifndef`)有选择地编译代码。
> * 头文件包含:将头文件的内容插入到源文件中。例如:`#include <stdio.h>`会被替换为`stdio.h`文件的内容。
> * 宏展开:替换宏定义。例如:`#define PI 3.14`会将代码中的`PI`替换为`3.14`。
> * 条件编译:根据条件指令(如:`#ifdef`、`#ifndef`)有选择地编译代码。
>
> * **删除代码中的注释,但是不会进行语法检查**
> * 删除代码中的注释,但是不会进行语法检查。
>
> * 预处理完成后,生成一个扩展名为`.i`的中间文件。
>