第二章:武装篇 - 现代C++工程化实战入门
本章聚焦“工程化跃迁”。从可维护的构建系统、资源管理到并发与异常处理,围绕真实项目代码,提供标准概念、最佳实践与常见问题解法,帮助你把“会写C++”升级为“能落地复杂项目”。
2.1 不止于编译:使用CMake构建可维护的C++工程
- 概念解析
- 构建系统不只是把代码编译成可执行文件,更是“工程的骨架”。它承担模块组织、依赖管理、编译配置、测试/打包/部署管线的协作。
- 在跨平台项目中,构建系统需要同时解决“统一配置”和“平台差异”两个维度的问题。
- 标准规范
- CMake 3.30+(项目已使用):
CMakeLists.txt统一启用C++17,并通过CMakePresets.json提供 Windows/Linux/Mac 的一致化工具链与构建类型。 - vcpkg:通过
CMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake管理第三方依赖与版本一致性。
- CMake 3.30+(项目已使用):
- 最佳实践示例
- 顶层模块化组织(摘自项目根
CMakeLists.txt):
- 顶层模块化组织(摘自项目根
cmake_min