-1

揮発性ラベルを持つことは可能ですか? このようなもの:

volatile coroutine:

また

coroutine volatile:

または多分

coroutine: volatile


最適化に影響されないラベルが欲しい。それは可能ですか?GCC 拡張は許容されます。

4

2 に答える 2

1

修飾子の意味は、volatileC 2011 (N1570) 5.1.2.3 6 で指定されています。「揮発性オブジェクトへのアクセスは、抽象マシンの規則に従って厳密に評価されます。これは、プログラムの観察可能な動作です。」</p>

ラベルはオブジェクトではなく、アクセスされるラベルでもないため、この仕様はラベルには適用できません。

volatile理論的には、ラベルに適用できるように言語を拡張できます。これを行うには、その意味を指定する必要があります。それらが「コンパイラの最適化によって改ざんされない」ことを意味するということは、不明確であり、未定義の用語を使用し (「改ざんされた」)、適用できない用語を使用しているため、不十分です (C 標準は、コンパイラではなく C の実装に適用されます。コンパイラ」は、標準の規範的な部分にも表示されません。)

于 2013-10-09T17:38:43.877 に答える