在 Debian 上感觉 gcc 编译/运行慢,通常不是 gcc 本身“执行慢”,而是编译过程慢或运行环境导致慢。下面按常见原因逐一说明,并给出对应解决办法。
gcc main.c
默认:
-O0)✅ 解决:
gcc -O2 -Wall main.c
gcc 默认 单线程编译
✅ 用 make -j:
make -j$(nproc)
或手动:
gcc -c a.c -o a.o &
gcc -c b.c -o b.o &
wait
<iostream>、Boost、STL 很慢✅ 解决:
#includestd=c++17/20gcc 大量读写临时文件
✅ 解决:
export TMPDIR=/dev/shm
或:
mkdir /tmp/gcc && export TMPDIR=/tmp/gcc
Debian + SELinux / AppArmor / clamav 会拖慢编译
✅ 检查:
systemctl status clamav
gcc main.c # -O0
程序会非常慢
✅ 用:
gcc -O2 main.c
如果你装了 libc6-dbg
✅ 检查:
dpkg -l | grep libc6
✅ 用:
gcc 而不是 cc有些 Debian 系统 gcc 是兼容包装
✅ 检查:
which gcc
gcc --version
比如在:
# 编译慢?
make -j$(nproc)
# 程序慢?
gcc -O2
# 磁盘慢?
export TMPDIR=/dev/shm
# CPU 是否满载?
htop
如果你愿意,可以告诉我:
cat /etc/os-release)我可以给你更精确的建议。