1
プロセスの仮想メモリ内のスタックとヒープの間の未使用のメモリスペースが枯渇したらどうなりますか?仮想メモリの処理 - スタックとヒープの間のスペース
プロセスの仮想メモリ内のスタックとヒープの間の未使用のメモリスペースが枯渇したらどうなりますか?仮想メモリの処理 - スタックとヒープの間のスペース
Windowsでは、スタックとヒープの間にガードページがあるため、ヒープとスタックは決して接触しません。これはセキュリティ上の理由からです(スタック枯渇のバグは、より悪用可能なヒープオーバーフローのバグにつながりません)。
ヒープがいっぱいになったときに何が起こるかを尋ねるなら、malloc(またはHeapAllocなど)の呼び出しがNULLを返すようになるという単純な答えです。スタックがいっぱいになったときに何が起こるかを尋ねているのであれば、スタック枯渇例外が発生します(スタックオーバーフローと誤って呼ばれることもあります)。どちらの場合でも、通常はプログラムによってメモリが解放され、デスクトップが続行されるか、終了します。