-PR-
解決
済み

windowsでのプログラミングについてなんですけど。

  • 困ってます
  • 質問No.85778
  • 閲覧数37
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 83% (5/6)

UNIXの本を読んでると、プログラムはexitシステムコールが呼ばれると、
freeregを呼び出し、malloc済みメモリをすべて開放し、共有メモリについても
参照が0になったら解放するようになっていて、仮にメモリリークする
プログラムで会ってもプロセスを殺せば、そのプログラムのリークした分は
すべて解放されるんですよ~~~それと同じ感覚で、windowsでプログラム
やってる友達に聞いたら、プロセスを殺してもnewでリークしたのしっぱなしに
なるっぽいよ~って言ってたんですよ。それって本当なんですか?
てか本当ならあえてそうしてるメリットってあるんでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 33% (427/1283)

 Windowsでも、プロセスを殺すとメモリを解放しますと書かれていますが、確かに簡単なプログラムでは解放します。
 しかし、プログラムが複雑になるにつれ、リークが始まります。

 しょせんそんな物と割り切って、自分が使ったメモリは自分で後始末しましょう。

 Windowsの場合は、リークの確率が高く、簡単にリークするプログラムが作れてしまう事に問題があります。
 メリット...まったくなし。プログラムを作る人間のバグです。
お礼コメント
akino4

お礼率 83% (5/6)

なるほどね~~~やっぱあれは単なるバグなんだぁ~~
OSのバグか自分のコードのバグか分からないなんて・・・・
windowsプログラマってよっぽど寛容なんですね~~~
おいらは・・・・・精神的にむりそう(^^;
投稿日時 - 2001-06-06 11:18:52
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル13

ベストアンサー率 37% (331/872)

こんにちは、honiyonです。 UNIXですとリークしたメモリもきちっと解放してくれるんですね。  初めて知りました。  メモリリークをそのまま残しておくメリットは皆無だと思います。    メモリリークが解放されてない理由は、マイクロソフトの言葉を借りれば「Windowsの仕様」という事になります。  参考になれば幸いです(.. ...続きを読む
こんにちは、honiyonです。
UNIXですとリークしたメモリもきちっと解放してくれるんですね。
 初めて知りました。

 メモリリークをそのまま残しておくメリットは皆無だと思います。
 
 メモリリークが解放されてない理由は、マイクロソフトの言葉を借りれば「Windowsの仕様」という事になります。

 参考になれば幸いです(..
お礼コメント
akino4

お礼率 83% (5/6)

リークてか・・・解放するのが普通のOSでしょっておもってたのは
おいらだけかな?(^^;
やばいなぁ~~この前レポートで書いたプログラムVCでコンパイルしたけど
あれはwindowsではだめなのか(笑)
どもです
投稿日時 - 2001-06-06 11:20:52


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ