在 Ubuntu 下使用 GCC 的优化选项,核心是通过 -O 系列参数控制编译优化级别,再结合一些具体优化和调试、性能分析相关的选项。下面按「常用场景」给你讲清楚。
gcc main.c -o main
或显式写:
gcc -O0 main.c -o main
✅ 特点:
gcc -O2 main.c -o main
✅ 特点:
gcc -O3 main.c -o main
✅ 特点:
gcc -Os main.c -o main
✅ 特点:
gcc -O2 -g main.c -o main
✅ 特点:
gcc -O2 -march=native -mtune=native main.c -o main
✅ 优点:
⚠️ 注意:
gcc -O2 -march=x86-64 -mtune=generic main.c -o main
gcc -O2 -flto main.c -o main
✅ 优点:
⚠️ 注意:
-fltogcc -O3 -ftree-vectorize main.c -o main
(O3 默认已开启)
gcc -O2 -ffunction-sections -fdata-sections -Wl,--gc-sections main.c -o main
-g
gcc -O2 -pg main.c -o main
gcc -O2 -fopt-info main.c
gcc -O0 -g main.c -o main
gcc -O3 -march=native -flto main.c -o main
gcc -O2 -flto -march=x86-64 -mtune=generic main.c -o main
man gcc
或:
gcc --help=optimizers
如果你愿意,可以告诉我:
我可以给你一套最合适的编译参数组合。