在 Debian 上用 GCC 编译时,如果觉得编译速度慢,可以从编译器选项、并行、缓存、工具链、代码组织几个层面来优化。下面按“实用优先”给你总结。
make -j$(nproc)
或 CMake:
cmake --build build -j$(nproc)
nproc 是 CPU 核心数。
sudo apt install ccache
使用方式:
export CC="ccache gcc"
export CXX="ccache g++"
或 CMake:
cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache .
✅ 二次编译可快 数倍
-O0 # 最快编译
-O1 # 折中
⚠️ 发布时用 -O2 或 -O3
-g0
调试时再用:
-g -O0
适合 C++ 大项目(如 STL、Qt)
示例(g++):
g++ -x c++-header stdafx.h -o stdafx.h.gch
.cppUnity Build(把多个 cpp 合并成一个)CMake 示例:
set_target_properties(app PROPERTIES UNITY_BUILD ON)
sudo apt install ninja-build
cmake -GNinja .
ninja
Debian 默认 GCC 可能偏旧:
gcc --version
可安装新版:
sudo apt install gcc-12 g++-12
sudo apt install clang
mkdir /tmp/build && mount -t tmpfs tmpfs /tmp/build
减少磁盘 IO。
✅ 最佳实践:
ccache + make -jN
或
ccache + cmake + ninja
-O0 -g
如果你愿意,可以告诉我:
我可以给你定制的优化方案。