2
「自動スタック拡張」とは何ですか?
getrlimit(2)のマニュアルページには次の定義があります。 RLIMIT_AS プロセスの仮想メモリ(アドレス空間)の最大サイズ(バイト単位)。この制限はbrk(2)、mmap(2)およびmremap(2)の呼び出しに影響し、この制限を超えるとエラーENOMEMで失敗します。また、自動スタック拡張は失敗します(また、sigaltstack(2)で代替スタックが使用可能にされていない場合、プロセスを強制終了するSIGSEGVを生成します)。値は長いため、32ビット長のマシンでは、この制限は最大2 GiBであるか、このリソースは無制限です。 ここで「自動スタック拡張」とはどういう意味ですか?Linux / UNIX環境のスタックは必要に応じて成長しますか?はいの場合、正確なメカニズムは何ですか?