C言語の理解

「揮発性」、C言語では、このキーワードは、変数が揮発性であることを示すために使用され、コンパイラーは最適化を要求しません。これらの構造のメンバーはすべてレジスターを表し、レジスターは多くの場合、ペリフェラルまたはSTM32チップの状態によって変更されます。つまり、CPUがこれらの変数を変更するコードを実行しなくても、ペリフェラルによって変数の値が変更および更新される可能性があります。したがって、これらの変数が使用されるたびに、CPUに変数のアドレスを再確認するように依頼します。このキーワードを変更しないと、場合によっては、コンパイラーは変数を変更するコードがないと判断し、CPUキャッシュから変数の値を直接取得します。これにより、実行速度が向上しますが、キャッシュは古いデータです、必要な登録の最新のステータスは異なる場合があります。

おすすめ

転載: www.cnblogs.com/action0/p/12757836.html