小编Tre*_*zJo的帖子

g ++在-Os启用错误标志

目前我正在使用GNU C++ - 编译器和-Os优化选项进行一些实验,以实现最小的代码大小.我使用以下命令在-Os检查了启用的编译器标志:

g++ -c -Q -Os --help=optimizers | grep "enabled"
Run Code Online (Sandbox Code Playgroud)


我得到了这个启用选项的列表:

-faggressive-loop-optimizations [enabled]
-falign-functions               [enabled]
-falign-jumps                   [enabled]
-falign-labels                  [enabled]
-falign-loops                   [enabled]
-fasynchronous-unwind-tables    [enabled]
                 ...
Run Code Online (Sandbox Code Playgroud)


这看起来有点奇怪,因为我也查了一下,应该在-Os启用哪些标志,这里和-Os部分下面写的是falign-应该禁用所有选项以进行代码最小化.


问:这是一个错误还是我在这里做错了什么?看完falign-标志之后的原因我真的认为应该在-Os中禁用它们!



我的gcc版本是4.9.2,我正在使用Arch-Linux.

已经感谢帮助:)

c++ optimization gcc

6
推荐指数
1
解决办法
115
查看次数

标签 统计

c++ ×1

gcc ×1

optimization ×1