ページ 1 / 1
exeファイルについて
Posted: 2009年2月28日(土) 18:29
by tororo
はじめまして このサイトを参考にさしてもらっていますtororoです
C++2008を使っているのですが、使い終わると極端に遅くなり
使った物のexeファイルがメモリを全部使ってしまいます
どうしたらいいのでしょうか
Re:exeファイルについて
Posted: 2009年2月28日(土) 18:37
by 御津凪
> 使った物のexeファイルがメモリを全部使ってしまいます
それは、VC++2008 で作成した実行ファイルのことですか?
ソースを調べなければ明確な答えは分かりませんし、
余りにも情報が少なすぎます。
この情報だけで判断できるのは、その実行ファイルがメモリを確保し続けていることぐらいです。
(&使い終わったメモリを解放していない)
そうしないようにしてくださいとしか答えようがないです。
解決を望むならソースを載せるなど、もっと情報が欲しいです。
*ソースを載せる際は、ページ上端にある、規約と注意事項を呼んでからお願いします。
Re:exeファイルについて
Posted: 2009年2月28日(土) 19:18
by tororo
ソースはこのサイトの物をつかっています
最初は大丈夫なんですが4~5分たつと
遅くなりコンパイルすら
出来なくなってしまいます
御津風様わざわざお答え本当に
ありがとうございますm(_ _)m
Re:exeファイルについて
Posted: 2009年2月28日(土) 20:11
by dic
ご使用のパソコンのスペックなども あわせて書くと返事が返ってくるでしょうね
Re:exeファイルについて
Posted: 2009年2月28日(土) 23:28
by コスモ
>ソースはこのサイトの物をつかっています
これだけでは分かりません。
このサイトのどの部分のソースコードを使っていますか?
>最初は大丈夫なんですが4~5分たつと
遅くなりコンパイルすら
出来なくなってしまいます
やはりこれはメモリーリークでしょう。
情報が少ないので、これぐらいしか回答出来ません。
ソースコード中にメモリを開放するコードを書いていますか?
コンパイラだけではなく、OSやスペックの情報も書きましょう。
それに…御津風 →御津凪ですよ。人の名前は間違えないようにしましょう。
御津凪さんに代わって指摘させて頂きます。
Re:exeファイルについて
Posted: 2009年3月01日(日) 08:34
by tororo
ソースはこのサイトの入門編の3番を使っています
OSはXPです
後、メモリ開放とググってみても
C++ 2008のことは出てきません
御津凪様へ
本当に名前を間違ってすみませんでした
これからは人の名前を間違えないようにします
Re:exeファイルについて
Posted: 2009年3月01日(日) 08:55
by コスモ
おかしいですね…手順通りにやっていれば、メモリーリークはおきない筈なんですが…
う~ん…このサイトの入門編の3番を使っているとすると、
そちらのソースコードがどの様になっているか分からないので
ソースコード中に
int DxLib_End( void ) ;
が抜けていませんか?
…としか言いようが無いです。
(あまりDXライブラリを使った事がないので違っていたらすいませんm(_ _)m)
もう一つ。
必要な環境を満たしていますか?
必要な環境:
・Microsoft Windows XP Service Pack 2 または Service Pack 3 では、
RAM(メモリ) : 192 MB 以上 (384 MB を推奨)
プロセッサ(CPU) : 1 GHz 以上 (1.6 GHz を推奨) です。
Re:exeファイルについて
Posted: 2009年3月01日(日) 09:32
by バグ
なんらかの理由で、終了できないスレッドがあるんじゃないかと…
Re:exeファイルについて
Posted: 2009年3月03日(火) 20:48
by tororo
やはり 何をしてもだめです
新しいパソコンに変えるまでプログラムを
がまんしますトホホ(泣)
これにこたえてくれた
dic様 cosmo様 バグ様
御津凪様 本当にありがとうございます
Re:exeファイルについて
Posted: 2009年3月04日(水) 10:53
by Dixq (管理人)
ほかの方もおっしゃっていますが、マシンのスペックはどれ位ですか?
後、症状としては、プログラムを終了しているのに、プログラムは動き続け、裏でドンドンメモリを食っているということでしょうか?
それはタスクマネージャーなどで調べたのでしょうか?
プログラムを実行するとタスクマネージャーのプロセスに表示されますよね。
プログラムを終了した時、そのプログラムは消えずに残るか、メモリ使用量はいくらになっているか確認してください。
Re:exeファイルについて
Posted: 2009年3月04日(水) 11:20
by バグ
かなり前のことですが、DXライブラリを使用したアプリケーションをウィンドウの右上の×ボタンで終了させると、正常に終了せず、プロセスが残ったままになった事がありました。
今回の件と直接関係があるかどうかは不明ですが…(^_^;)
Re:exeファイルについて
Posted: 2009年3月04日(水) 11:54
by コスモ
>>バグさん
>かなり前のことですが、DXライブラリを使用したアプリケーションをウィンドウの右上の×ボタンで終了させると、正常に終了せず、プロセスが残ったままになった事がありました。
不思議ですね…DXライブラリの不具合なんでしょうか?
DXライブラリの終了処理が上手くいっていないのか、
Windowsにウィンドウが破棄されたメッセージが伝わっていないのか…
Re:exeファイルについて
Posted: 2009年3月04日(水) 13:19
by kazuoni
自分もはっきりとしたことは覚えていませんが、
バグさんと同じような体験をしました。
実行ファイルを消去しようとしたときに、まだ使用中だとでました。
その時はすぐに再起動をしてしまいましたが。。
Re:exeファイルについて
Posted: 2009年3月04日(水) 13:24
by s-rush
私もバグさんと同じ現象が起きたことがあります。
実行ファイルを消去しようとしたり、コンパイルしようとした時に、
まだ使用中と表示されできませんでした。
kazuoniさん同様、すぐに再起動しましたが・・・
ちなみにOSはVistaです。
XPを使っていた時は、このような現象は起きませんでした。
Re:exeファイルについて
Posted: 2009年3月06日(金) 12:06
by tororo
プログラムを終了してから
タスクマネージャーを見ると
メモリ使用率が100%になっています
それにそのファイル(○○.exe)が消えずにずっと残っています
スペックは CPU 2.50GHz
RAM 448MB です
Re:exeファイルについて
Posted: 2009年3月06日(金) 12:21
by 御津凪
と、いうことは、そのプログラムが後始末部分で
関係ないメモリ確保の無限ループをする暴走に陥っている可能性が高いです。
ソースの終了付近(DxLib_End() 付近)に複数のブレイクポイントを設定して、
デバッグ実行してみてください。
(詳しいやり方は過去ログにあるので、ここでは割愛します)
プログラム終了の瞬間、設定したポイントのどこかで止まるはずなので、
F5 で引っかからなくなる箇所を探してください。
引っかからなくなり、同じ症状が現れたら直前の場所(あるいはその直後)が原因です。
(もし、何度も通るようであればそこはループ処理をしています)
以上の方法で原因を探してみてください。