下载与安装

原理

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

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

三大主流编译器:

编译器开发者平台特点
GCC/G++GNU全平台Linux 默认, 开源
Clang/LLVMApple/LVM全平台编译快, 错误信息清晰
MSVCMicrosoftWindowsVisual 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.cpp

macOS

xcode-select --install
clang++ --version

macOS 上 g++ 实际上是 Clang 的别名。安装真正的 GCC:

brew install gcc
g++-14 --version

Linux

发行版命令
Ubuntu/Debiansudo apt install build-essential
Fedorasudo dnf groupinstall "Development Tools"
Archsudo 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++ 编译的四个阶段各自做了什么”并用自己的话复述。