C の 'register' キーワードをわかりやすく説明する
C では、プログラマーは、一見すると区別できないように見える 2 つの類似したコード スニペットに遭遇します。
int x = 7;
と
register int x = 7;
これら 2 行のコードの微妙な違いは何ですか?
答えは「register」キーワードにあります。 C では、 'register' はコンパイラへの提案として機能するオプションのキーワードです。これは、変数 'x' をプロセッサ レジスタに格納する必要があることを意味しており、メモリからアクセスするよりも大幅に高速です。
これを尊重するかどうかの最終決定はコンパイラが行うことに注意することが重要です。提案。プロセッサー・レジスターの可用性、変数のサイズ、コンパイラーの最適化レベルなど、その選択に影響を与える可能性のあるさまざまな要因があります。
C の専門家である Herb Sutter 氏によると、「レジスター指定子」自動指定子と同じセマンティクスを持ちます..." これは、コンパイラが最適化基準に基づいて、プロセッサ レジスタやメモリなどの変数を格納する場所を自動的に決定することを意味します。
したがって、 C はコードのパフォーマンスを最適化できる可能性があるヒントですが、それを保証するものではありません。コンパイラーは制御を維持し、変数のストレージに関する最終決定を行います。
以上がC の「register」キーワードの役割を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。