いくつかのチュートリアルに従って、masm32を学習しています。1つのチュートリアル:http ://win32assembly.online.fr/tut3.html には、次のように記載されています。
LOCALディレクティブは、関数で使用されるローカル変数にスタックからメモリを割り当てます。LOCALディレクティブの束は、PROCディレクティブのすぐ下にある必要があります。LOCALディレクティブの直後に:が続きます。したがって、LOCAL wc:WNDCLASSEXは、wcという名前の変数のWNDCLASSEX構造体のサイズのメモリをスタックから割り当てるようにMASMに指示します。スタック操作に問題なく、コードでwcを参照できます。それは本当に天の恵みだと思います。欠点は、ローカル変数は作成された関数の外部では使用できず、関数が呼び出し元に戻ったときに自動的に破棄されることです。もう1つの欠点は、ローカル変数は動的に割り当てられたスタックメモリであるため、自動的に初期化できないことです。 関数が入力されたとき。LOCALディレクティブの後に、必要な値を手動で割り当てる必要があります。
スタックメモリは静的であり、動的割り当てはヒープであると常に言われてきました。では、C ++の意味で、これらをローカルと見なすことができるでしょうか。C ++でローカル変数を作成する場合、それらの変数もスタックに動的に割り当てられますか?