これは Linux の gcc 4.4.6 です。
これが動作です
奇妙な.c
double a[500000000];
main() {
}
これを使用してコンパイルすると:
gcc bizarre.c
次に、コンパイラは 4G のメモリを使用し、長い時間がかかります。
配列サイズを 50000000 にすると、コンパイルに必要なメモリと時間が大幅に削減されます。
コンパイラがコンパイル中のコードを実行しているようなものです。
この方法で巨大な配列を作成することはベストプラクティスではないかもしれませんが、何か説明はありますか?