-O0:不优化,此选项编译速度比优化快很多
-O1:优化的第一等级,目标为尽可能快地编译,同时让结果代码尽量小,运行速度尽量快。
defer-pop 推迟从堆栈中弹出函数参数,直到该参数确实被使用时
thread-jumps 执行线程跳转优化
branch-probabilities 采用分支整形来优化分支结构
cprop-register 采用复制生成的方式来优化寄存器之间的传值
guess-branch-probability 打开分支预测功能
omit-frame-pointer 不产生栈帧(若可以)
-O2:提供了更多优化,但不包括用速度来换取空间或用空间换取速度的优化
align-loops 对齐循环的起点
align-jumps 对齐仅通过跳转可达的标签
align-labels 对齐所有标签
align-functions 对齐所有函数的起点
optimize-sibling-calls 优化递归调用
等。。。
-Os:为-O2等级的优化,除去了可能增大结果的映像
-O3:最高等级优化
-finline-functions 将简单函数内联到调用函数中
-frename-registers 为拥有大量寄存器的架构优化寄存器的分配
GCC编译优化选项
最新推荐文章于 2024-01-25 15:20:10 发布