アセンブリのローカル変数が、私たちが使用するグローバル変数よりも速いのかどうか疑問に思っていました。このための文脈は、本からのwin32 apiを使っていくつかの2Dアニメーションを学んでいることです。作成者は、プログラムのメインウィンドウを初期化する(ウィンドウの作成、登録、表示および更新)機能を使用します。私はasmでその関数を書きました(asmをいくつか実践するだけです)。だから、私が使用しているasm関数では、WNDCLASSEX構造体がローカルに(スタックに)作成されていたので、パフォーマンス上の利点があるかどうか疑問に思っていました。私はアセンブリのローカル変数がより速くなるはずですが、別のプログラム(完全にcpp)の逆アセンブルを行っていることを知っています。コンパイラがWNDCLASSEXをローカルに作成することに気付きました。これは話題について私を混乱させました。ですから、asmコードとC++コードの間にパフォーマンスに違いがあるかどうかを知りたいのです。アセンブリ内のローカル変数:グローバル変数よりも高速ですか?
Devjeet
変数またはスコープ(ローカル、グローバル)の概念がアセンブリに存在しません。そして、C++はアセンブリのコンセプトに関して定義されていません。 –
コードはありません。より速いのは難しいです。あなたのコードを変えるCreateWindowなどの呼び出しを考えると無関係です。 –
@cat私は、スタックにある変数はローカルで、データセグメントではグローバルとして割り当てられると考えることができます。 –