在 Ubuntu 上感觉 gcc 编译很慢,通常不是 gcc 本身“故意慢”,而是由环境、配置或用法导致的。下面按常见原因 → 解释 → 解决建议来说明。
-O2 / -O3 优化gcc -O2 main.c
-O3 比 -O0 慢很多倍✅ 建议:
gcc -O0 -g
-O2-Wall -Wextra + 模板/宏很多✅ 建议:
每次都重新编译相同代码 → 很慢
✅ 解决(强烈推荐):
sudo apt install ccache
export CC="ccache gcc"
第二次编译速度可提升 5–10 倍
默认 gcc 一次只编译一个文件
✅ 解决:
make -j$(nproc)
或 CMake:
cmake --build . -j$(nproc)
✅ 建议:
export TMPDIR=/dev/shm
✅ 检查:
free -h
如果 swap 使用很多,说明内存不够
Ubuntu 的 gcc:
✅ 可选方案:
gcc-12 / gcc-13sudo apt install gcc-13
#include <bits/stdc++.h>
✅ 建议:
constexpr 大量计算会拖慢编译你可以先试试:
time gcc -O0 main.c
如果:
-O0 很快 → 是优化问题Ubuntu 上 gcc 慢,90% 是因为:优化级别高 + 没并行 + 没 ccache + 磁盘/内存差
如果你愿意,可以告诉我:
gcc --version我可以帮你精确分析是哪一类慢。