Microsoft Visual C++ 2008 Express を使用していますが、かなり厄介な問題があります。XPでは発生しないようですが、Vistaでは回避する方法が見つかりません。変数を非動的に宣言するたびに、それらの合計サイズが約 30 MB を超えると、プログラムは起動時にすぐにクラッシュします。Vista が Win32 以外のアプリを 32 MB のメモリに制限していることは知っていますが、それは私の問題ではないと思います。Microsoft コンパイラを使用していますが、それが win32 コンソール アプリか win32 ウィンドウ アプリかに関係なく発生します。私はちょうど次のように宣言します...
int foo[1000][1000]
...または変数の任意の組み合わせにより、どこでも同様のサイズになり、それはさようならアプリケーションです。面白いことに、このエラーが存在するにもかかわらず、約 25% の時間で実行されます。ここで基本的なプログラミングが欠けていますか?静的割り当ては時代遅れですか? 動的割り当てを利用するには、アプリケーション全体をやり直す必要がありますか?