ヒープ領域を使い果たしました – プログラミング – Home

ヒープ領域を使い果たしました
 
通知
すべてクリア

[解決済] ヒープ領域を使い果たしました


shogo
 shogo
(@shogo)
ゲスト
結合: 20年前
投稿: 31
Topic starter  

shogoと申します.

開発環境はWinXP,VC7.0,MFCです.

タイトルの通り,
「ヒープ領域を使い果たしました」というエラーが出るようになってしまいました.
そうなる経緯を説明しても仕方がないと思いますが,
既存のメニューに,新たなコマンドを追加し,
そのコマンドのイベントハンドラを追加したところ,
このようなエラーが出てしまうようになりました.

このエラーは,どういうことを言っていて,
どうすれば回避することができるのでしょうか?
ご指導,よろしくお願いします.


引用未解決
トピックタグ
123
 123
(@123)
ゲスト
結合: 22年前
投稿: 9
 

コンパイルの時にエラーがでるのですか?
もしそうなら、エラーコードで検索してみれば


返信引用
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 22年前
投稿: 280
 

MFCのヘルプが下記の通りです。

致命的なエラー C1002
パス 2 の実行中に、ヒープ領域を使い果たしました。

コンパイラのパス 2 (C2.EXE) の実行中に、コンパイラが動的メモリ空間を使い果たしまし
た。このエラーは通常、プログラムのシンボルの数が多すぎるときや式が複雑すぎるときに起こ
ります。

次のような解決策が考えられます。
エラーを起こしたファイルを複数の小さいサイズのソース ファイルに分割します。
式を小さな部分式に分解します。
システムで実行中の他のプログラムやドライバのうちメモリを多く消費するものをシステムから
取り除きます。

タスクマネージャでメモリ使用量を確認して下さい。


返信引用
shogo
 shogo
(@shogo)
ゲスト
結合: 20年前
投稿: 31
Topic starter  

123さん,アイススケーターさん.
返信ありがとうございます.

123さん.
コンパイルの時にエラーが出ています.
一応,エラーメッセージで検索を今一度してみます.

アイススケーターさんのレスで,
> エラーを起こしたファイルを複数の小さいサイズのソースファイルに分割
という方法が挙げられていますが,
エラーを起こしたファイルは,100行程度のソースになっています.
(エラーの出ないファイルで1000行弱のものもありますが.
実際,こちらにイベントハンドラを追加したら,エラーが出るようになりました.)
ところで,分割とは,どのように行えばよいのでしょうか?

よろしくお願いします.


返信引用
shogo
 shogo
(@shogo)
ゲスト
結合: 20年前
投稿: 31
Topic starter  

自己レスですが,
http://www.microsoft.com/japan/developer/library/vccore/_core_.2f.zm.htm
ここに,ヒープサイズの変更方法が書いてありました.

ここの記述どおり,
プロジェクトのプロパティ内の「コマンドライン」→「追加のオプション」に,
/Zm200 と追加したところ(ヒープサイズを200%,つまり2倍に),
無事コンパイルできるようになりました.

返信していただいた方々,ありがとうございました.


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました