下载与安装

原理

C++ 是编译型语言,编译器将源代码翻译为机器可直接执行的二进制文件。整个过程分为四个阶段:

graph LR
 A[源代码 .cpp] -->|预处理| B[展开后源码 .i]
 B -->|编译| C[汇编代码 .s]
 C -->|汇编| D[目标文件 .o]
 D -->|链接| E[可执行文件]
```bash

三大主流编译器:
| 编译器 | 开发者 | 平台 | 特点 |
|--------|--------|------|------|
| GCC/G++ | GNU | 全平台 | Linux 默认, 开源 |
| Clang/LLVM | Apple/LVM | 全平台 | 编译快, 错误信息清晰 |
| MSVC | Microsoft | Windows | Visual Studio 集成, 闭源 |

编译器的核心工作是:词法分析 -> 语法分析 -> 语义分析 -> 中间代码生成 -> 优化 -> 目标代码生成。不同编译器的优化策略差异会影响最终二进制的大小和性能。

---

## 语法

### Windows

**MinGW-w64 (MSYS2)**
```bash
# 在 MSYS2 UCRT64 终端中
pacman -Syu
pacman -Su
pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-make
```cpp
将 `C:\msys64\ucrt64\bin` 添加到系统 PATH。

**MSVC (Visual Studio)**
安装时勾选"使用 C++ 的桌面开发"工作负载。使用 Developer Command Prompt 编译:
```bash
cl /EHsc hello.cpp
```cpp

### macOS

```bash
xcode-select --install
clang++ --version
```bash
macOS 上 `g++` 实际上是 Clang 的别名。安装真正的 GCC:
```bash
brew install gcc
g++-14 --version
```bash

### Linux

| 发行版 | 命令 |
|--------|------|
| Ubuntu/Debian | `sudo apt install build-essential` |
| Fedora | `sudo dnf groupinstall "Development Tools"` |
| Arch | `sudo pacman -S base-devel` |

**验证安装**
```bash
g++ --version
clang++ --version
```asm

> 编译器安装后必须验证 PATH 配置。若提示 "command not found",检查 bin 目录是否在 PATH 中。

---

## 实践

编译测试程序:
```cpp
#include <iostream>

int main() {
 std::cout << "Hello, C++!" << std::endl;
 return 0;
}
```cpp
```bash
g++ -std=c++17 hello.cpp -o hello
./hello
```cpp

多编译器对比(若有多个编译器):
```bash
g++ -std=c++17 -O2 compare.cpp -o compare_gcc
clang++ -std=c++17 -O2 compare.cpp -o compare_clang
ls -l compare_gcc compare_clang
```cpp

练习(验证环境可用):
练习: 入门练习
练习: 入门练习