23:46Cのヒープの2GB以上のメモリが失敗するのはなぜですか?Cヒープに特定のサイズのメモリを割り当てたい。約1900MBのサイズで失敗します。GBのRAMがインストールされています。高い値のメモリを割り当てることすら考えられません。?大量のメモリを使用する多くのプログラム(仮想マシンなど)があるので、OSのセキュリティ機能であるという考えをすでに除外しています。1プロセスに割り当てられたページは、RAM全体を構成するものではありません。思いますか?ユーザープログラム全体がRAM全体にアクセスすることは許可されません。OSがプロセスに割り当てる仮想メモリの量を決定し、プログラムが起動します。それが、マシンのフルRAMを使用して表示しなかった理由です。長い話-プログラムには使用するRAM全体が与えられていません。-それはあなたが今考えているよりも全体的に大きな問題を引き起こすでしょう。使用方法は明確ではありません。ほとんどの場合、エラー状態が必要です。ユーザープログラムとして、メモリを要求します。それに応じて条件を処理します。++ランタイム関数です。メモリアドレス指定機能は、使用されているコンパイラとそのコンパイラのビルド設定によって異なります。割り当てが失敗したことを示すNULLポインターを返します。GBの使用可能なRAM物理メモリ。++ランタイムで許可される最大値は1GBから2GBの間です。次に、ビルド設定をx86から​​x64に変更して、64ビットポインターで64ビット実行可能ファイルを生成しました。有効なポインターが返され、4GBで成功しました。タスクマネージャーには次のように表示されます。StackOverFlowも参照してください。メモリよりも大きい1Dアレイの作成に失敗するのはなぜですか。メモリよりも大きい2Dアレイを作成しても問題ありません。