
No.1ベストアンサー
- 回答日時:
>メモリーリークエラーが起こるのですが、理由はなんなんでしょう?
メモリーリークはmalloc()やnewした領域を開放し忘れたときに発生します。
>よく起こるのは、プログラムをコンパイルしたり実行したりしたときになるような気がするんですが、なんでリークエラーが起こるんでしょうか?
コンパイルのときは分かりませんが、
#つーか、リークが発生するコンパイラって何?すげー問題あるんだけど
プログラム実行が終了した時には、上記のような問題のあるプログラムの場合は警告されることがあります。
サーバーのデーモンのように24時間動き続けるプログラムの場合、それとは分からずに徐々にメモリを食いつぶし、ある日突然他のプログラムがメモリ不足に陥ることになります。
>解決法とかありませんか?どなたか宜しくお願いします。
プログラムのユーザーの場合:作った人に文句をいいましょう。
プログラマの場合:確保したメモリをきちんと開放しているか全ての経路でチェックしましょう。
C++の場合、STLを使う、メモリ確保が必要なデータをクラスでラップし、デストラクタで開放するなどの方法が有効です。
お返事ありがとうございました。
>メモリーリークはmalloc()やnewした領域を開放し忘
>れたときに発生します。
やっぱり普通はそうですよね。でも、malloc()などは使っていないんですよ。
何でか不思議です。
コンパイラはC++builderを使っているんですが。不思議です。
コンパイルしたときに間違いがありエラーとなったときにたまに出るんです。エラー部分を直しもう一度コンパイルしてもまたエラーが出て、どこが間違ってるんだー?と見直しても解からず、ソースを念のためメモ帳か何かにコピーしておいてから、C++builderを閉じてもう一度立ち上げてやってみようと、閉じると「メモリーを○回開放し忘れています」と出るんです。
で、再起動してもう一度C++ビルダーを開いて、さっきコピーしてとっておいたソースを貼り付けると、さっきはどこがおかしいのかわからないがエラーが出て続けていたソースが、何の問題も無くコンパイルされ実行すると、ちゃんとできるんです。
何でこんなことが起こるのかわかりません。インストール時何か問題があったんですかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メモリが不足しています(VBA)
-
メモリのセグメント違反の解決...
-
VB.netでUSBメモリの固有I...
-
大容量のメモリ確保をスワップ...
-
計算速度が遅い
-
C言語で、メモリを解放しないで...
-
EXCEL-VBAにてADOのレコードセ...
-
C#で別クラスインスタンスのメ...
-
バッチファイルでの実行EXEのメ...
-
メモリ不足
-
ルネサスマイコン(R8C) ビルド...
-
VBAの配列サイズとメモリに関して
-
imagedestroyしないとどうなる?
-
動的確保できるメモリ容量
-
VB2005 Datagridview の仮想モ...
-
プログラム領域の算出方法
-
Macターミナルで実行中のプログ...
-
VBAで別プロセスのExcelのフル...
-
VC++2010 TCPIP通信の受信処理...
-
Mac 乗数の入力方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で、メモリを解放しないで...
-
Access Violationについて
-
VBAの配列サイズとメモリに関して
-
メモリのセグメント違反の解決...
-
メモリが不足しています(VBA)
-
メモリ不足
-
大容量のメモリ確保をスワップ...
-
ファイルマッピング関数で失敗
-
PC-98で拡張メモリを使え...
-
エラーについて
-
「ヒープサイズの設定」て何?
-
エクセルのメモリ使用状況/Appl...
-
C言語における再帰呼び出しの...
-
オフスクリーンサーフェスへの...
-
1ページに収まるオブジェクト...
-
新規購入PCのスペックについて...
-
4GB搭載したマシンのメモリ情...
-
組み込み系でのmallocについて
-
ルネサスマイコン(R8C) ビルド...
-
Visual Basic Net2003
おすすめ情報