diff --git a/docs/notes/01_c-basic/01_xdx/index.md b/docs/notes/01_c-basic/01_xdx/index.md index 0ef313e..4f88c43 100644 --- a/docs/notes/01_c-basic/01_xdx/index.md +++ b/docs/notes/01_c-basic/01_xdx/index.md @@ -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 ,通常为集成开发环境(IDE,Integrated 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 专用库,如:~~MFC(Microsoft Foundation Class Library)~~。 + * ① 兼容性: 与 Windows 操作系统和 Windows API 深度集成,生成的二进制文件为 PE 格式。 + * ② 调试工具: 提供强大的调试工具,如:Visual Studio Debugger。 + * ③ 优化: 支持各种编译器优化,特别是针对 Windows 平台的优化。 + * ④ 库支持: 提供丰富的 Windows 专用库,如:~~MFC(Microsoft Foundation Class Library)~~。 > [!NOTE] > > MSVC 不开源,我们可以使用 Visual Studio Community 社区版,但是如果想使用 Visual Studio Community 社区版生成出来的应用进行商用,就需要好好阅读微软的许可证和说明书了。 * 对于 Linux 而言,使用的最多的 C/C++ 编译器是 `GCC`(支持多种架构和语言),并且很多 Linux 发行版本都将 GCC 作为默认的编译器,其特点如下所示: - * ① **广泛支持**: 支持各种 Linux 发行版,是大多数开源项目的默认编译器。 - * ② **强大的优化**: 提供各种编译优化选项,适合多种性能需求的开发。 - * ③ **丰富的工具链**: 和 GDB(GNU 调试器)、Make、Autoconf 等工具无缝集成。 + * ① 广泛支持: 支持各种 Linux 发行版,是大多数开源项目的默认编译器。 + * ② 强大的优化: 提供各种编译优化选项,适合多种性能需求的开发。 + * ③ 丰富的工具链: 和 GDB(GNU 调试器)、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`文件的内容。 -> * **宏展开**:替换宏定义。例如:`#define PI 3.14`会将代码中的`PI`替换为`3.14`。 -> * **条件编译**:根据条件指令(如:`#ifdef`、`#ifndef`)有选择地编译代码。 +> * 头文件包含:将头文件的内容插入到源文件中。例如:`#include `会被替换为`stdio.h`文件的内容。 +> * 宏展开:替换宏定义。例如:`#define PI 3.14`会将代码中的`PI`替换为`3.14`。 +> * 条件编译:根据条件指令(如:`#ifdef`、`#ifndef`)有选择地编译代码。 > -> * **删除代码中的注释,但是不会进行语法检查**。 +> * 删除代码中的注释,但是不会进行语法检查。 > > * 预处理完成后,生成一个扩展名为`.i`的中间文件。 >