C++ 环境搭建
学编程最重要的就是"先让代码跑起来"。这一篇手把手教你在三大操作系统(Windows / macOS / Linux)上装好 C++ 编译器,然后用最简单的 Hello World 验证环境。装好后,后面所有章节你都能边读边敲。
一、C++ 编译器是干什么的?
你写的 .cpp 文件是源代码(纯文本,人能看懂),CPU 不能直接执行。需要编译器(compiler)把它翻译成 CPU 能懂的机器码(二进制可执行文件)。C++ 主流编译器有三个:
- GCC/g++:GNU 出品,Linux 默认装机自带,开源免费,Windows 上叫 MinGW。
- Clang/clang++:Apple 主推,macOS 自带,报错信息友好,现代编译器代表。
- MSVC:微软出品,Windows 独占,集成在 Visual Studio 里,IDE 体验最佳。
本教程统一用 g++ 命令演示(三大平台都能用),语法完全一致。
二、macOS 安装
macOS 最简单,装 Xcode 命令行工具即可(不需要装完整的 Xcode,那玩意儿 10GB+):
# g++ 编译其实分四步,加 -v 能看到详细过程
g++ hello.cpp -o hello
# 1. 预处理(展开 #include、宏):.cpp -> .ii
g++ -E hello.cpp -o hello.ii
# 2. 编译(生成汇编代码):.ii -> .s
g++ -S hello.ii -o hello.s
# 3. 汇编(生成机器码):.s -> .o
g++ -c hello.s -o hello.o
# 4. 链接(合并库、生成可执行文件):.o -> hello
g++ hello.o -o hello上面的命令装好后,g++ 实际上是个指向 clang++ 的软链(Apple 偷偷替换了),但不影响使用。验证一下:
g++ --version
# 应输出类似:
# Apple clang version 15.0.0 ...
# 或
# g++ (Ubuntu 11.4.0) 11.4.0三、Linux 安装(Ubuntu/Debian)
Ubuntu 系发行版用 apt 装即可:
sudo apt update
sudo apt install build-essential
# build-essential 包含 g++、gcc、make 等核心编译工具
g++ --versionCentOS/RHEL 系用 yum:
sudo yum groupinstall "Development Tools"
g++ --version四、Windows 安装
Windows 是最复杂的一个,有三条主流路线,按需选择:
- 路线 1:Visual Studio(适合新手) — 下载社区版(免费),安装时勾选"使用 C++ 的桌面开发"。装好后新建"控制台应用"项目就能写代码,F5 一键编译运行。优点:IDE 体验无敌;缺点:体积巨大(20GB+)。
- 路线 2:MSYS2 + g++ + VS Code(轻量推荐) — 安装 MSYS2,在 MSYS2 终端执行
pacman -S mingw-w64-ucrt-x86_64-gcc,再把 MSYS2 的 ucrt64/bin 目录加入系统 PATH。配合 VS Code 的 "C/C++" 扩展和 "Code Runner" 扩展,体验接近 Mac。 - 路线 3:WSL(Windows Subsystem for Linux) — 装一个 Ubuntu 子系统,在 WSL 里像 Linux 一样用
apt install build-essential。适合将来要学 Linux 服务器开发的同学。
Windows 验证(在 PowerShell 或 CMD 里):
g++ --version
# 输出类似:
# g++ (Rev2, MSYS2 UCRT, ...) 13.2.0五、第一个 C++ 程序
环境装好后,写一个 Hello World。打开任意文本编辑器(VS Code、Sublime、记事本都行),新建 hello.cpp,输入:
// hello.cpp - 第一个 C++ 程序
#include <iostream>
using namespace std;
int main() {
cout << "Hello, C++!" << endl;
return 0;
}逐行解释:
#include是预处理指令,把iostream(标准输入输出流)的内容在编译前"复制"到这个位置。C++ 头文件不带.h后缀(老式 C 头文件才有,如stdio.h)。using namespace std:声明使用标准库名字空间,后面写cout不必加std::前缀。int main():程序入口,返回 int。C++ 标准要求 main 必须返回 int。cout << ... << endl:<<是流插入运算符,把右边的内容依次"塞"进标准输出流。endl是换行+刷新缓冲。return 0:返回 0 告诉操作系统"程序正常退出"。
六、编译与运行
打开终端,进入 hello.cpp 所在目录,执行:
# 编译命令:g++ 源文件 -o 可执行文件
g++ hello.cpp -o hello
# 在 Linux/macOS 上运行
./hello
# 输出: Hello, C++!
# 在 Windows 命令行上运行
hello.exe
# 输出: Hello, C++!看到 Hello, C++! 输出就成功了!恭喜,你已经跨过了学编程最难的一步。
七、编译的四个阶段(了解)
g++ hello.cpp -o hello 这一条命令,背后其实做了四件事:
# g++ 编译其实分四步,加 -v 能看到详细过程
g++ hello.cpp -o hello
# 1. 预处理(展开 #include、宏):.cpp -> .ii
g++ -E hello.cpp -o hello.ii
# 2. 编译(生成汇编代码):.ii -> .s
g++ -S hello.ii -o hello.s
# 3. 汇编(生成机器码):.s -> .o
g++ -c hello.s -o hello.o
# 4. 链接(合并库、生成可执行文件):.o -> hello
g++ hello.o -o hello平时不用关心,但报错时知道在哪一步报的错,会大大加快排错。比如:
- 预处理错误:通常是
#include的文件不存在。 - 编译错误:语法错、类型错、未声明的标识符。
- 链接错误:函数声明了但没实现、"undefined reference to xxx"。
八、常用编译选项
记住这几个常用 flag,以后写项目天天用:
# 开启全部警告 + 把警告当错误处理(强烈推荐)
g++ -Wall -Werror hello.cpp -o hello
# 开启优化(-O2 是发布版本常用级别)
g++ -O2 hello.cpp -o hello
# 生成带调试信息的可执行文件(供 gdb/lldb 调试)
g++ -g hello.cpp -o hello
# 指定 C++ 标准(C++17 是当前主流, C++20 较新)
g++ -std=c++17 hello.cpp -o hello
g++ -std=c++20 hello.cpp -o hello
# 多文件编译
g++ main.cpp utils.cpp -o app九、IDE 推荐
- VS Code + C/C++ 扩展:免费、轻量、跨平台、生态最好,大多数人的选择。配合 CMake Tools 扩展可以管理大型项目。
- CLion:JetBrains 出品,商业付费(学生免费),智能提示、调试、重构都是顶配。专业 C++ 项目首选。
- Visual Studio:Windows 独占,GUI 开发无敌,大型游戏引擎开发常用。
- Xcode:macOS 独占,开发 macOS/iOS 应用必备。
本教程建议你用 VS Code——简单、跨平台、社区教程多。后面所有示例你只要把代码贴进一个 .cpp 文件,然后终端执行 g++ xxx.cpp -o xxx && ./xxx 即可。
小结
这一篇你完成了三件事:装好编译器、写好 Hello World、跑通"编辑 → 编译 → 运行"的闭环。下一篇我们正式进入 C++ 语法——先看程序的整体结构与基础规则。
← 上一篇 C++ 语言简介
下一篇 C++ 基础语法 →