下载与安装
原理
C++ 是编译型语言,编译器将源代码翻译为机器可直接执行的二进制文件。整个过程分为四个阶段:
graph LR A[源代码 .cpp] -->|预处理| B[展开后源码 .i] B -->|编译| C[汇编代码 .s] C -->|汇编| D[目标文件 .o] D -->|链接| E[可执行文件]
三大主流编译器:
| 编译器 | 开发者 | 平台 | 特点 |
|---|---|---|---|
| GCC/G++ | GNU | 全平台 | Linux 默认, 开源 |
| Clang/LLVM | Apple/LVM | 全平台 | 编译快, 错误信息清晰 |
| MSVC | Microsoft | Windows | Visual Studio 集成, 闭源 |
编译器的核心工作是:词法分析 -> 语法分析 -> 语义分析 -> 中间代码生成 -> 优化 -> 目标代码生成。不同编译器的优化策略差异会影响最终二进制的大小和性能。
语法
Windows
MinGW-w64 (MSYS2)
# 在 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将 C:\msys64\ucrt64\bin 添加到系统 PATH。
MSVC (Visual Studio)
安装时勾选”使用 C++ 的桌面开发”工作负载。使用 Developer Command Prompt 编译:
cl /EHsc hello.cppmacOS
xcode-select --install
clang++ --versionmacOS 上 g++ 实际上是 Clang 的别名。安装真正的 GCC:
brew install gcc
g++-14 --versionLinux
| 发行版 | 命令 |
|---|---|
| Ubuntu/Debian | sudo apt install build-essential |
| Fedora | sudo dnf groupinstall "Development Tools" |
| Arch | sudo pacman -S base-devel |
验证安装
g++ --version
clang++ --version编译器安装后必须验证 PATH 配置。若提示 “command not found”,检查 bin 目录是否在 PATH 中。
实践
编译测试程序:
#include <iostream>
int main() {
std::cout << "Hello, C++!" << std::endl;
return 0;
}g++ -std=c++17 hello.cpp -o hello
./hello多编译器对比(若有多个编译器):
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力扣入门题(验证环境可用):
力扣: 入门练习
力扣: 入门练习
AI 自检提示:询问 AI “请解释 C++ 编译的四个阶段各自做了什么”并用自己的话复述。