第1章: 编译
编译这一章从最精简的 C++ 程序开始:
int main() {}
没有输出,没有输入,只有最低限度的入口点。 从这里开始,我们探索如何把这段源代码变成二进制可执行文件。
我们将使用的工具
为了保持现代与轻量,我们将使用:
- PWA 应用商店 —— 用于安装渐进式 Web 应用。
- VS Code(Insiders PWA) 或 VS Code(PWA) —— 在浏览器中直接编写和编辑我们的 C++ 代码。
- gcc —— 用于构建 C++ 程序的 GNU 编译器集合。
- clang/LLVM —— 现代 C++ 编译器基础设施。
- Windows MSVC Sysroot(若使用 Clang 编译 Windows 程序则必需)
本教程不会使用 Microsoft Visual C++。
跨平台编译
使用纯终端命令,我们将学习如何产出不同类型的二进制文件:
- Windows:
.exe文件 - Linux / FreeBSD:
ELF二进制文件 - macOS:
Mach-O二进制文件
本章强调在不依赖 IDE 或构建系统的前提下理解编译过程。 只有命令行、编译器和最简单的 C++ 程序。
工作流程
工作流程非常直接:
- 安装 PWA 应用商店 和 PWA 版 VS Code。
- 安装一个编译器(Clang 或 GCC)。 如果你要用 Clang 编译 Windows 程序,还需要安装 Windows MSVC Sysroot。
- 在新文件
main.cpp中写下int main() {}。 - 打开终端并运行
gcc main.cpp -o main或clang main.cpp -o main。 - 观察生成的二进制文件(依平台不同,可能是
main.exe、a.out或main)。
这个练习展示了 C++ 源代码如何变成一个可运行的程序,即使它没有任何输出。