アレイを作成しようとしています: int HR[32487834];
これは約128 - 130メガバイトのメモリを占有しませんか? 私はMS C++ビジュアルスタジオ2005 SP1を使用していますが、クラッシュしてスタックのオーバーフローを通知します。C++メモリ割り当ての質問
答えて
お使いのコンピュータのメモリはギガバイトですが、スタックはありません(デフォルトでは、Windowsでは約1 MBだと思いますが、それを大きくすることはできます)。
new []
でヒープに割り当ててください。
スタックはデフォルトではそれほど大きくありません。スタックサイズは/F compiler switchで設定できます。
このオプションを指定しないと、スタックサイズ はデフォルトで1 MBになります。数値引数 は、10進数またはC言語の 表記にすることができます。引き数は、 1から最大スタックサイズまでの範囲で指定できます。リンカーは を受け入れます。リンカは、 を四捨五入して、指定した値を最も近い4 バイトに丸めます。/Fと数字 の間のスペースはオプションです。
使用することもできます実行ファイル
しかし、おそらくあなたの代わりに、一度にすべてをやっの部分にあなたの問題を分割する必要があるため/STACK linker option。あなたは一度にそのすべての記憶を本当に必要としますか?
通常、スタックよりもヒープに多くのメモリを割り当てることができます。
スタックサイズだけでなく、スタックフレームのサイズもこれらの巨大なサイズで動作します(DevStudioのスタックフレームの制限はわかりませんが)。 –
は、ベクターを使用してください - あなたは関数やブロックを離れるとき、あなたはまだ配列が自動的にクリーンアップを得るよながら配列データは、ヒープ上に配置されます:
std::vector<int> HR(32487834);
その奇妙な宇宙大会の理由は何ですか? (申し訳ありませんが、それは私の目を滲ませて、私はそれの目的について興味があります。) – Zifre
(x)は空白があまりにも多く、(x)は十分ではありません。 –
- 1. 質問のメモリ割り当て
- 2. メモリ割り当ての質問
- 3. C++のメモリ割り当ての問題
- 4. メモリの割り当て(C)
- 5. C++クラス配列のメモリ割り当ての再割り当て
- 6. Cアレイの質問 - 再割り当てされたメモリでの奇妙なメモリの問題
- 7. メモリの割り当て/割り当て解除(WindowsではC++)
- 8. C++の動的割り当てメモリ内での動的メモリ割り当て
- 9. 次のメモリ割り当ての問題
- 10. Java - メモリ割り当ての問題(GC_FOR_ALLOC)
- 11. ArcGIS C#のメモリ割り当てのクラッシュ
- 12. cの配列のメモリ割り当て
- 13. Cのmallocメモリ割り当て方式
- 14. C(割り当て)のメモリ管理
- 15. c#3dアプリケーションのメモリ割り当て
- 16. 客観C:メモリの割り当て
- 17. Cでの動的メモリ割り当て
- 18. C++ポインタとメモリの割り当て
- 19. C++コードのメモリ割り当てエラー
- 20. .net c#クラスのメモリ割り当て
- 21. Cでのメモリ割り当て
- 22. C++でのメモリ割り当て
- 23. C++のメモリ割り当てnew []とdelete []
- 24. 派生C++クラスのメモリ割り当て
- 25. C++リリース、メモリの割り当ては、コンストラクタ
- 26. ポインタとCでのメモリ割り当て
- 27. C++のメモリ割り当てHOWTO
- 28. C整数と印刷でのメモリ割り当ての問題
- 29. メモリ割り当て解除シミュレーション問題
- 30. メモリ割り当て
は、あなたが希望いかなる理由があります。 STL配列(vector、list ...)を使用する代わりに配列を使用しますか?独自のイテレータクラスを作成することもできます。 – Partial