codeblocks:防止编译器自动优化
@codeblocks—防止编译器自动优化
这几天做算法软件实现上的优化,发现优化后还不如未优化的用时短,首先排除优化方法本身问题,怀疑codeblocks进行了自动优化。
首先检查settings—>compiler设置,发现并没有设置自动优化:
之后顺着codeblocks页面可疑的选项摸排了一波,发现在Project—>Properties—>Build targets—>Release—>Build options—>Compiler Flags中,默认勾选了[-O2]和[-s],而这在settings—>compiler中是没有的。
可是为什么两个地方设置的不一样呢?可能的解释是这两个控制界面管理不同的方面,再回来观察一下第二张图左上角,现在选中的是release,如果选择Debug,也会出现一个页面:
看来是针对不同部分(如Debug,Release)进行相关选项的设置。在取消自动优化后,就可以看看自己写的加速模块有没有效果啦!