ちょっと分かりやすく補足してみる。

巨大なstaticな領域を取ったときに、exeファイルとしてNGとか、elfファイルとしてNGとかの
実行ファイル形式にならない場合はコンパイル時にエラーになる。

でもそうならなかったら、実行時にエラーしないとは言えない。
なぜならメモリにロードするのはあくまで実行時だから、実行時に十分なリソースが
なければロードできない。

あとOSによっては仮想アドレス空間は確保しても物理的に確保しない場合もあるから
実行開始したあとにエラーが出る可能性もある。