プロが教えるわが家の防犯対策術!

恐れ入ります。
メモリを解放するとはどういうことなんでしょうか?
for loopをくりかえしてるうちにどんどんどんどんメモリの使用率があがっちゃって。おそらくメモリを解放すればあがらなくなるとおもうのですがその解放の仕方がよくわかりません。そもそもメモリとvbの関係ってどういう関係なんですか?おしえてください。お願いします。

A 回答 (3件)

システム(Windows)から確保したメモリ領域をシステムに返却するということですね。

一般的には、変数などで領域を確保したものを解放することを指します。

VBでは、メモリの確保と解放は自動的にされていて、プログラム上で意識することはありません。たとえば、プロシージャレベルの変数だとプロシージャが呼び出されたときに自動的に確保されてプロシージャを抜ける時に解放されています。
V

C言語だと、変数の確保をする命令もありますし解放する命令があります。メモリを確保だけして解放しないと、繰り返し実行させている内にメモリが足りなくなります。これをメモリがリークしている、と言います。

#VC.netだと自動化されているらしい(未確認)
    • good
    • 2
この回答へのお礼

お返事ありがとうございます。
for loop の箇所を別のプロシージャにて処理させるようにするとメモリが60%おさえることができるようになりました。まさにGJでした。

お礼日時:2005/09/02 19:11

メモリに関しては、ガベージコレクションにより自動解放される仕様になっています。


VB.NETであれば明示的に解放させることもできますが、これで問題がすべて解決されることはないと思います。
メモリ使用量だけにとらわれず、設計に問題がないかどうかも含めて検討してみてはいかがでしょう。

参考URL:http://www.microsoft.com/japan/msdn/vbasic/migra …
    • good
    • 0
この回答へのお礼

ありがとうございます。設計に問題ですか・・おそらく問題ありまくりですね。でもスキルがないので判断できないっす。しかも人にいえないようなプログラムなのできくこともできないっす。

お礼日時:2005/09/02 19:16

こんちは


 私はフリーでメモリの掃除屋さん
 を常駐しています。

  残りのメモリ量で掃除します。

http://ringonoki.net/tool/memo/souziya.html
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
これだと掃除できないんですよね・・・泣

お礼日時:2005/09/02 19:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A