C、C++の最適化について語るスレ 3
■ このスレッドは過去ログ倉庫に格納されています
0560デフォルトの名無しさん
2011/09/19(月) 12:03:50.85> コンパイルしても動かない
32bitバイナリで、スタックエラーでしょ?
スタック・ヒープってのがあって、mallocやnewすると、ヒープ領域が使われて
自動変数は、スタック領域が使われるんだよ。MSVCの既定では、1MBだから
int XY[300000], b[50000]; // int型 (4Bytes) * (300000 + 50000)
double x[50000], y[50000], z[50000]; // double型 (8Bytes) * (50000 + 50000 + 50000)
簡単に溢れるじゃんw Cellみたいにアーキテクチャによっては、
スタックが非常に高速なメモリーだったりするんだけど、スタック領域は大きくないんだよ。
コンパイラによっては、staticキーワード付けるとヒープ領域使うらしいけど
所詮環境依存だからね。
■ このスレッドは過去ログ倉庫に格納されています