关于Linux编译优化几个必须掌握的姿势
https://cloud.tencent.com/developer/article/1517858
当选择了
CONFIG_CC_OPTIMIZE_FOR_SIZE
它会是Os,否则就是O2。
其实O2和Os,都是一些优化选项的集合:
gcc -c -Q -O2 --help=optimizers > /tmp/O2-opts
gcc -c -Q -Os --help=optimizers > /tmp/Os-opts
前者倾向于基于速度的优化,后者倾向于基于size更小的优化。
在全局已经使能O1, O2, O3, Os的情况下,某个单独的函数我们不想做任何的优化,可以用__attribute__((optimize("O0")))来修饰这个函数