3

「登録構造体」は合法ですか?標準と(標準から分離された)Gccの観点から?

4

3 に答える 3

3

はい。(引用はありません。それを禁止するものはありません。配列でのレジスタの使用が有効であり、配列は構造体であるCの二級市民であると仮定した場合の注意があります)。

于 2010-06-24T14:09:14.030 に答える
3

はい、それは合法ですが、レジスターはコンパイラーが何を試みるかについてのヒントにすぎないため、実装は実際にそれをリッスンする必要はありません。レジスターに割り当てられたスペース内に格納できなかった構造体を作成することも簡単です。

マシンに依存する問題に非常に近づき始めると、ハードウェアが異なるため、すべてのアーキテクチャでこのレベルで同じことが確実に可能になるとは限らないため、標準でのそれらの部分は単なる提案になりがちです。

于 2010-06-24T14:13:59.437 に答える
2

はい、それは有効です。

registerキーワードとしては、変数がレジスタに保持されることを意味するわけではありません。(Cには基本的にこの概念はありません)。これは単に、この変数のアドレスを取得しないことを意味します。

于 2010-06-24T14:32:18.830 に答える