C ++レジスタのキーワード

ます。http://blog.sina.com.cn/s/blog_6a1837e90101128k.htmlで再現

要求コンパイラレジスタキーワードは、効率を改善するために、メモリアドレッシングを介しない内部CPUレジスタ変数として存在するが、。なお、可能な限り、ない絶対。CPUレジスタの優先順位は、そのレジスタ変数の定義多くの場合、すべてのレジスタを配置することはできません。

登録は、メモリアクセス速度変数を登録します。

変数を、対応するコンパイラは、頻繁に使用する修飾子のヒントを登録し、可能ならば、それはそのストレージ・スピードスピードアップするためにCPUのレジスタに格納する必要があります。

 

注意点:

レジスタ変数は、CPUの種類によって受理されなければなりません。これは通常、変数が単一のレジスタ値でなければならず、長さ未満または整数の長さに等しくなければならないことを意味します。しかし、いくつかのマシンは、浮動小数点レジスタを保存することができます。

レジスタ変数をメモリに保存することができない場合がありますので、あなたが「&」を取得するアドレスレジスタ変数を使用することはできません。

優先順位レジスタの数、およびいくつかのレジスタはデータのみ(例えば、ポインタや浮動小数点)の特定のタイプを受け入れることができ、したがって、実際の作業の数が改質レジスタ種類ためのプログラムを実行しているマシンに依存して、任意の過剰レジスタ修飾子は、コンパイラによって無視されます。

いくつかのケースでは、変数がレジスタに格納されているが、江都プログラムを高速化されます。レジスタので、他の目的のために占有することができない、変数の数が十分に使用されているかいないと、変数によって引き起こされるオーバーヘッドをロードし、格納するのに十分ではありません。

ヒントだけではなく、コマンドを登録します。

 

おすすめ

転載: www.cnblogs.com/cjj-ggboy/p/12448397.html