mirror of
https://github.com/Aexiar/c.git
synced 2024-10-22 14:05:45 +02:00
c
This commit is contained in:
parent
e2b32dccbe
commit
67e3df2432
@ -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>`会被替换为`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`的中间文件。
|
||||
>
|
||||
|
Loading…
Reference in New Issue
Block a user