1

最近、スタック オーバーフローに関するドキュメントを読んでいて、ある文で混乱していることに気づきました。

ちなみに、スタックにプッシュされるアイテムは、ワード境界にのみ置くことができます。つまり、アドレスはワード長の倍数でなければなりません。したがって、プログラムに 1 バイトのみを使用するローカル変数が含まれている場合でも、この変数を格納するために完全なワードが使用されます!

32 ビット マシンのスタックに格納されている short int(2 バイト) ローカル変数は、システムが完全なワードを格納するために割り当てるため、2 バイトを浪費することを意味しますか?

4

1 に答える 1

4

はい、そういう意味です。システムの実装とアドレッシングの実装に依存しますが、単語の配置があるのはかなり一般的です。

于 2012-10-22T23:27:16.510 に答える