1

Windows 7、64 ビット、8 GB RAM を使用しています。2 GB を超える割り当てを行う必要がありますが、ランタイム エラーが発生します。

私のコードを見てください

#define MAX_PESSOAS 30000000

int i;
double ** totalPessoas = new double *[MAX_PESSOAS];
for(i = 0; i < MAX_PESSOAS; i++)
    totalPessoas[i] = new double [5];

MAX_PESSOAS は 3000 万に設定されていますが、少なくとも 10 億が必要です (わかりました、8GB 以上が必要になることはわかっていますが、nvm、取得できます。その方法を知る必要があるだけです)。

私はビジュアルスタジオ2012を使用しています

4

1 に答える 1

3

アプリケーションが 64 ビット バイナリにビルドされている場合、特別な手順を実行しなくても 8 GB を超えるアドレスを指定できます。アプリケーションが 32 ビット バイナリにビルドされている場合、システムがサポートしている限り、4 ギガバイト チューニングを有効にすることで、最大 3 GB (64 ビット Windows を実行している場合は 4 GB) までアドレス指定できます。

アプリケーションを実行するオペレーティング システムが 64 ビットであることがわかっている場合は、おそらくアプリケーションを 64 ビット バイナリとしてコンパイルすることをお勧めします。

于 2013-11-13T23:13:08.123 に答える