PROFIからSUPER PROFIへの質問-1. - ページ 29 1...222324252627282930313233343536...45 新しいコメント Vadim Zhunko 2011.09.10 11:11 #281 sergeev: ハンドルを閉じるときに、(CreateFileMappingで指定した以上に割り当てられた)メモリは元に戻らないのでしょうか? 解放されるのです。でも、最後にあるんですよ。メモリを節約しながら進めなければならない。 --- 2011.09.10 11:46 #282 勝ち負けとか、手のひら返しとか、アプリケーションの終了とか、何の終了時に? Vadim Zhunko 2011.09.10 12:44 #283 sergeev: 勝ち負けとか、手のひら返しとか、アプリケーションの終了とか、何の終了時に? どちらか一方を選ぶことができます。それでも、終わりなんです。 --- 2011.09.10 13:04 #284 あ、でも、ヘッダを閉じているのであれば、メモリリークはないと思いますよ、ヘッダを削除したときにWindowsがメモリを解放するのは普通のことですから Vadim Zhunko 2011.09.10 13:47 #285 実行中にディスクリプターを閉じてメモリを解放するのは、何となく間違っているような気がします。 ウィンドスに期待せずとも、メモリは解放されるはずです。 --- 2011.09.10 14:30 #286 MSDN for Mappingには、ハンドラを閉じる前に手動でメモリを解放 することについては何も書いてありません。 Vadim Zhunko 2011.09.10 17:28 #287 sergeev: MSDN for Mappingには、ハンドラを閉じる前に手動でメモリを解放することについては何も書いてありません。 まあ、ハンドルを閉じた後というわけではありませんが。メモリを扱う際には、動的にサイズを変更する必要があります。でも、ずっとやる必要はないんです。一定の再配分には時間がかかる。 --- 2011.09.10 18:34 #288 ヴァディム、私たちはいったい何を解析しているのですか? メモリを増設する方法が2つ 見つかりました。 どちらの場合も、メモリーリークの問題は発生すると思いますか? Vadim Zhunko 2011.09.10 19:25 #289 すべてのディスクリプタが閉じていれば、漏れはない。リーケージとは、プログラムがアンロードされても、リソースが占有されたままであることです。 しかし、メモリを過剰に消費する問題が発生する可能性があります。私自身も少し前まではそのような悩みを抱えていました。時系列を扱うクラスを間違えて接続してしまいました。秒単位で刻みをインデックス化するクラスを追加しました。このクラスを使って月足棒を扱うようになった。30秒でメモリを全部食っちゃったよ。これは考えられるバリエーションの一つです。このようなことを監視し、警告を発するべきでしょう。 2つ目のケースは、プログラムが1000Mbなど多くのメモリを必要とするが、長時間使用しない場合である。もし解放しなければ、あなたのプログラムがアンロードされるまで、他のプログラムは1000MB少なくなります。 要するに、リソースの消費量を把握する必要があるのです。 --- 2011.09.10 19:50 #290 わかりました、考慮します。 1...222324252627282930313233343536...45 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ハンドルを閉じるときに、(CreateFileMappingで指定した以上に割り当てられた)メモリは元に戻らないのでしょうか?
勝ち負けとか、手のひら返しとか、アプリケーションの終了とか、何の終了時に?
実行中にディスクリプターを閉じてメモリを解放するのは、何となく間違っているような気がします。
ウィンドスに期待せずとも、メモリは解放されるはずです。
MSDN for Mappingには、ハンドラを閉じる前に手動でメモリを解放することについては何も書いてありません。
ヴァディム、私たちはいったい何を解析しているのですか?
メモリを増設する方法が2つ 見つかりました。 どちらの場合も、メモリーリークの問題は発生すると思いますか?
すべてのディスクリプタが閉じていれば、漏れはない。リーケージとは、プログラムがアンロードされても、リソースが占有されたままであることです。
しかし、メモリを過剰に消費する問題が発生する可能性があります。私自身も少し前まではそのような悩みを抱えていました。時系列を扱うクラスを間違えて接続してしまいました。秒単位で刻みをインデックス化するクラスを追加しました。このクラスを使って月足棒を扱うようになった。30秒でメモリを全部食っちゃったよ。これは考えられるバリエーションの一つです。このようなことを監視し、警告を発するべきでしょう。
2つ目のケースは、プログラムが1000Mbなど多くのメモリを必要とするが、長時間使用しない場合である。もし解放しなければ、あなたのプログラムがアンロードされるまで、他のプログラムは1000MB少なくなります。
要するに、リソースの消費量を把握する必要があるのです。