gpt4 book ai didi

c - 如果设置了多个优化标志,clang 会做什么?

转载 作者:行者123 更新时间:2023-12-04 02:27:12 24 4
gpt4 key购买 nike

例如,当您键入 clang -O3 -O0 时会发生什么?

行为是否与 gcc 中的行为相同?即,除了最后一个优化标志之外的所有优化标志都被忽略(描述 herehere )?

我在 clang 的手册页中查找,但在优化标志部分找不到解释。

这是未定义的行为吗?

最佳答案

虽然一个测试用例并没有提供始终如一的行为的明确证明,但它可能暗示一个或另一个方向,从我在 Clang 的几个版本的测试用例中观察到的对于 C 和 C++ 代码,看起来就像在 GCC 中一样,之前的冲突标志被忽略了,最后一个仍然存在。我确实查看了 Clang 文档,似乎没有提到这种情况。

Sample C program with Clang 11.0.1

假设这不会是一个问题,并且显然最后一个标志是站立的。有人可能会争辩说这不是那么明显,例如,可以提出一个论点,即更高优化级别应该成立。

至于为什么没有记录,只能推测,可能是对情况缺乏了解导致的。事实上,这至少应该像在 GCC 中一样,被记录在案。

关于c - 如果设置了多个优化标志,clang 会做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66707225/

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