exeファイルについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tororo

exeファイルについて

#1

投稿記事 by tororo » 16年前

はじめまして このサイトを参考にさしてもらっていますtororoです
C++2008を使っているのですが、使い終わると極端に遅くなり
使った物のexeファイルがメモリを全部使ってしまいます
どうしたらいいのでしょうか

御津凪

Re:exeファイルについて

#2

投稿記事 by 御津凪 » 16年前

> 使った物のexeファイルがメモリを全部使ってしまいます

それは、VC++2008 で作成した実行ファイルのことですか?

ソースを調べなければ明確な答えは分かりませんし、
余りにも情報が少なすぎます。

この情報だけで判断できるのは、その実行ファイルがメモリを確保し続けていることぐらいです。
(&使い終わったメモリを解放していない)

そうしないようにしてくださいとしか答えようがないです。

解決を望むならソースを載せるなど、もっと情報が欲しいです。

*ソースを載せる際は、ページ上端にある、規約と注意事項を呼んでからお願いします。

tororo

Re:exeファイルについて

#3

投稿記事 by tororo » 16年前

ソースはこのサイトの物をつかっています
最初は大丈夫なんですが4~5分たつと
遅くなりコンパイルすら
出来なくなってしまいます
御津風様わざわざお答え本当に
ありがとうございますm(_ _)m

dic

Re:exeファイルについて

#4

投稿記事 by dic » 16年前

ご使用のパソコンのスペックなども あわせて書くと返事が返ってくるでしょうね

コスモ

Re:exeファイルについて

#5

投稿記事 by コスモ » 16年前

>ソースはこのサイトの物をつかっています

これだけでは分かりません。
このサイトのどの部分のソースコードを使っていますか?

>最初は大丈夫なんですが4~5分たつと
遅くなりコンパイルすら
出来なくなってしまいます


やはりこれはメモリーリークでしょう。
情報が少ないので、これぐらいしか回答出来ません。
ソースコード中にメモリを開放するコードを書いていますか?

コンパイラだけではなく、OSやスペックの情報も書きましょう。

それに…御津風 →御津凪ですよ。人の名前は間違えないようにしましょう。
御津凪さんに代わって指摘させて頂きます。

tororo

Re:exeファイルについて

#6

投稿記事 by tororo » 16年前

ソースはこのサイトの入門編の3番を使っています
OSはXPです
後、メモリ開放とググってみても
C++ 2008のことは出てきません
御津凪様へ
本当に名前を間違ってすみませんでした
これからは人の名前を間違えないようにします

コスモ

Re:exeファイルについて

#7

投稿記事 by コスモ » 16年前

おかしいですね…手順通りにやっていれば、メモリーリークはおきない筈なんですが…

う~ん…このサイトの入門編の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ファイルについて

#8

投稿記事 by バグ » 16年前

なんらかの理由で、終了できないスレッドがあるんじゃないかと…

tororo

Re:exeファイルについて

#9

投稿記事 by tororo » 16年前

やはり 何をしてもだめです
新しいパソコンに変えるまでプログラムを
がまんしますトホホ(泣)
これにこたえてくれた
dic様 cosmo様 バグ様
御津凪様 本当にありがとうございます

Dixq (管理人)

Re:exeファイルについて

#10

投稿記事 by Dixq (管理人) » 16年前

ほかの方もおっしゃっていますが、マシンのスペックはどれ位ですか?
後、症状としては、プログラムを終了しているのに、プログラムは動き続け、裏でドンドンメモリを食っているということでしょうか?

それはタスクマネージャーなどで調べたのでしょうか?
プログラムを実行するとタスクマネージャーのプロセスに表示されますよね。
プログラムを終了した時、そのプログラムは消えずに残るか、メモリ使用量はいくらになっているか確認してください。

バグ

Re:exeファイルについて

#11

投稿記事 by バグ » 16年前

かなり前のことですが、DXライブラリを使用したアプリケーションをウィンドウの右上の×ボタンで終了させると、正常に終了せず、プロセスが残ったままになった事がありました。

今回の件と直接関係があるかどうかは不明ですが…(^_^;)

コスモ

Re:exeファイルについて

#12

投稿記事 by コスモ » 16年前

>>バグさん
>かなり前のことですが、DXライブラリを使用したアプリケーションをウィンドウの右上の×ボタンで終了させると、正常に終了せず、プロセスが残ったままになった事がありました。

不思議ですね…DXライブラリの不具合なんでしょうか?

DXライブラリの終了処理が上手くいっていないのか、
Windowsにウィンドウが破棄されたメッセージが伝わっていないのか…

kazuoni

Re:exeファイルについて

#13

投稿記事 by kazuoni » 16年前

自分もはっきりとしたことは覚えていませんが、
バグさんと同じような体験をしました。
実行ファイルを消去しようとしたときに、まだ使用中だとでました。
その時はすぐに再起動をしてしまいましたが。。

s-rush

Re:exeファイルについて

#14

投稿記事 by s-rush » 16年前

私もバグさんと同じ現象が起きたことがあります。
実行ファイルを消去しようとしたり、コンパイルしようとした時に、
まだ使用中と表示されできませんでした。
kazuoniさん同様、すぐに再起動しましたが・・・

ちなみにOSはVistaです。

XPを使っていた時は、このような現象は起きませんでした。

tororo

Re:exeファイルについて

#15

投稿記事 by tororo » 16年前

プログラムを終了してから
タスクマネージャーを見ると
メモリ使用率が100%になっています
それにそのファイル(○○.exe)が消えずにずっと残っています

スペックは CPU 2.50GHz
RAM 448MB です

御津凪

Re:exeファイルについて

#16

投稿記事 by 御津凪 » 16年前

と、いうことは、そのプログラムが後始末部分で
関係ないメモリ確保の無限ループをする暴走に陥っている可能性が高いです。

ソースの終了付近(DxLib_End() 付近)に複数のブレイクポイントを設定して、
デバッグ実行してみてください。
(詳しいやり方は過去ログにあるので、ここでは割愛します)

プログラム終了の瞬間、設定したポイントのどこかで止まるはずなので、
F5 で引っかからなくなる箇所を探してください。

引っかからなくなり、同じ症状が現れたら直前の場所(あるいはその直後)が原因です。
(もし、何度も通るようであればそこはループ処理をしています)

以上の方法で原因を探してみてください。

閉鎖

“C言語何でも質問掲示板” へ戻る