2

_allocaスタックに4k以上が必要な場合、Windowsプログラムが関数エントリを呼び出してスタックを拡張することを読みました。ガードページがヒットするたびに、ウィンドウがスタックに新しいページを割り当てるため_alloca、4kステップでスタックにアクセスしてスペースを割り当てます。

また、これはWindowsにのみ適用されることも読みました。Linux(または他のOS)は、必要がない場合、この問題をどのように解決します_allocaか?

4

1 に答える 1

1

Linuxは高度に最適化されたページフォールト処理に依存しているため、プログラムはスタックに物事をプッシュするだけで、ページフォールトハンドラーはその場でスタックを拡張します。

于 2011-07-21T14:36:36.060 に答える