构建系统是不可能找到的,尽管可以配置一个额外的标志:在尝试进行一些快速和肮脏的测试时,我可以注入一个额外的-O3标志,以查看程序的性能如何处于-O3优化之下。
但是,-O2也是指定的,并且是事后指定的。
问题是,对于编译器来说,只有最后一个优化标志才会继续存在,这是否定义得很好?还是它(我希望)符合最高指定的优化水平?或者是没有定义?这绝对不是抱怨或犯错,这是肯定的。
发布于 2020-05-16 02:09:28
都在文件里。来自gcc优化期权
如果您使用多个-O选项,有或没有级别编号,则最后一个这样的选项是有效的。
如果同时指定多个优化标志,gcc (和clang)会做什么?
正在使用的编译器使用在命令行上最后指定的优化-O
选项。
对于编译器来说,只有最后一个优化标志才会继续存在,这是很好的定义吗?
它被记录在您的编译器文档中。
或者它是否符合最高指定的优化级别?
不是的。
或者是没有定义?
不是的。
https://stackoverflow.com/questions/61830977
复制相似问题