在 Ubuntu 上用 gcc 编译/运行程序很慢,通常不是 gcc 本身“慢”,而是某些环境或配置因素导致的。下面按常见原因 + 对应解决办法给你梳理一下。
make
默认是单线程。
✅ 解决:
make -j$(nproc)
-O2 / -O3 优化优化级别越高,编译越慢。
✅ 开发阶段建议:
gcc -O0 -g
#include✅ 解决:
ccachesudo apt install ccache
export CC="ccache gcc"
gcc 会写大量临时文件。
✅ 检查:
df -h /tmp
✅ 解决:
/tmp 放到内存:sudo mount -t tmpfs tmpfs /tmp
某些安全策略会拦截 gcc。
✅ 检查:
dmesg | grep gcc
gcc main.c
✅ 建议:
gcc -O2 main.c
✅ 解决:
O(n²) / 死循环 / 频繁 malloc
✅ 分析:
gcc -g main.c
gdb ./a.out
# 或
valgrind --tool=callgrind ./a.out
-fsanitize=address
✅ 仅调试用,发布时关闭。
gcc --version
sudo apt remove gcc
sudo apt install build-essential
你可以先回答这几个问题,我能更精准判断:
如果你愿意,可以贴一段编译命令 + 环境信息,我可以直接帮你定位。