gpt4 book ai didi

c - 不可见的 GCC 优化标志?

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:15 25 4
gpt4 key购买 nike

我正在使用 GCC 4.4.2 构建一些大型项目。因为我想为发布而构建它,所以我使用了 -O1 GCC 优化标志,但不幸的是它以某种方式混淆了我的代码,并且最终的二进制文件在使用 - 构建时没有按预期工作O0 标志(或无优化)一切正常。我之前的项目也遇到过类似的问题,当时是 -fstrict-aliasing 标志导致了 -O2 优化级别的问题,我设法找到了它是由该特定标志引起的,通过搜索本文档中提到的所有标志,关于 -O2 优化级别:

http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html

现在我尝试对他们提到的关于 -O1 标志的列表做同样的事情,但不幸的是似乎并不是所有提到的标志,或者有一些隐藏的标志被启用,因为当我仅使用 -O1 标志或仅使用提供的标志列表进行编译(不放置 -O1 本身)我得到不同的编译结果,我的二进制文件仅拒绝工作带有特定的 -O1 标志,所以我找不到确切的麻烦选项。

是否有可能知道 -O1 选项包含哪些隐藏选项,以及如何禁用其中的一些选项?

最佳答案

您可以在一个小的 C 文件上运行 gcc -Q -v 让 GCC 转储正在使用的选项。使用和不使用 -O1 选项运行它,以了解启用选项之间的差异。

关于c - 不可见的 GCC 优化标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com