gpt4 book ai didi

是否可以将标签(分支目标)标记为 "volatile"以防止其被 GCC 优化触及?

转载 作者:行者123 更新时间:2023-11-30 20:27:29 25 4
gpt4 key购买 nike

是否可以有 volatile 标签?像这样的事情:

volatile coroutine:

coroutine volatile:

或者甚至

coroutine: volatile

我想要一个不会受到优化影响的标签。那可能吗? GCC 扩展是可以接受的。

最佳答案

C 2011 (N1570) 5.1.2.3 6 中规定了 volatile 限定符的含义:“对 volatile 对象的访问严格按照抽象机的规则进行评估。...这是程序的可观察行为。”

此规范不适用于标签,因为标签不是对象,也不能访问标签。

理论上,可以扩展该语言,以便 volatile 可以应用于标签。为此,您需要指定它的含义。说它意味着“不会被编译器优化篡改”是不够的,因为它不清楚,使用未定义的术语(“篡改”),并且使用不适用的术语(C 标准适用于 C 实现,而不是编译器。“编译器”甚至没有出现在标准的规范部分。)。

关于是否可以将标签(分支目标)标记为 "volatile"以防止其被 GCC 优化触及?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19278400/

25 4 0