趣味でプログラムの勉強をしています。
初歩的な質問になると思いますが、よろしくお願いします。
C言語やC++言語のように、動的に確保したメモリを使用後に意識して解放しないといけない言語で、解放の処理をしないままプログラム(アプリケーション)を終了した場合にはシステム(OS?)的にはどのような状態になるのでしょうか?
例:
・malloc して free しない
・new して delete しない
確保されたメモリ領域がそのまま残り、システムとして使用できるメモリ量が減る(解放にはPCの再起動が必要)のでしょうか?
それともアプリケーションの終了時に自動的に解放されるのでしょうか?
Windowsの場合を想定してご回答いただだけると嬉しいです。
No.2
- 回答日時:
>・malloc して free しない
例えば、
p = malloc(123); // 123は適当な値
/* 何かの処理 */
p = malloc(456); // 456は適当な値
なんて書いちゃうと、1回目のmallocで確保した123バイトの領域が
宙に浮いてしまいます(メモリーリーク)。
プログラムの終了とともにその123バイトを適切に開放してくれるかどうか、
私にはわかりません。
No.4ベストアンサー
- 回答日時:
#1さんの回答の通りです。
プロセスが終了すると、使用していた資源は
解放されます。ファイルも閉じられます。
mallocを無限に繰り返すプログラムを作り、
これを実行します。タスクマネージャで見ると、
ページファイル使用のラインが上がりっぱなしに
なりますが、プロセスを強制終了させると、元の
レベルに下がるのが観測できます。
確認方法も含めてご回答ありがとうございました。
実際に試してみたところ、ご教示いただきましたとおりPF使用量が増加し続け、アプリケーションの強制終了で元に戻ることが確認できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- CPU・メモリ・マザーボード Windows11アップデート後の不具合(メモリ不足)について 9 2023/01/04 11:34
- Firefox(ファイヤーフォックス) firefoxが頻繁に停止する 1 2023/01/09 10:26
- Windows 10 PCでゲームをやるとPC再起動必須のフリーズになります 4 2023/02/17 11:29
- Windows 10 Windows Updateの更新ができない場合に初期化 3 2023/01/18 20:00
- CPU・メモリ・マザーボード hp dc5700SFFについて 2 2022/06/03 10:50
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
sil_rew_memのメモリアクセスに...
-
[ちょっと息抜き]メモリを解放 ...
-
VB.netでUSBメモリの固有I...
-
メモリ不足
-
C#で別クラスインスタンスのメ...
-
malloc関数の使い終わった後の...
-
C言語における再帰呼び出しの...
-
メモリアロケーション異常の発...
-
メモリの消費量について
-
メモリのセグメント違反の解決...
-
仮想メモリの増やし方
-
ReadEventLogについて
-
FindFirstFile ハンドル開放
-
<jsp:include>の属性、flushに...
-
エクセル キャッシュメモリー...
-
メモリの解放について VB6 VBA
-
C言語 昇順・降順 ソート
-
ちなみに、for (i = 0; str[i] ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で、メモリを解放しないで...
-
VBAの配列サイズとメモリに関して
-
「ヒープサイズの設定」て何?
-
C言語における再帰呼び出しの...
-
エクセルVBA 大容量CSVファイル...
-
動的メモリとexit(C言語)
-
エクセルのメモリ使用状況/Appl...
-
メモリが不足しています(VBA)
-
ファイルマッピング関数で失敗
-
大容量のメモリ確保をスワップ...
-
メモリのセグメント違反の解決...
-
EXCEL-VBAにてADOのレコードセ...
-
メモリ不足
-
エクセル キャッシュメモリー...
-
【C言語】再帰が時間がかかる...
-
C#のOutOfMemoryException発生...
-
closeとメモリの開放について
-
バッチファイルでの実行EXEのメ...
-
メモリの解放について VB6 VBA
-
「memcpy」と「strcpy」について
おすすめ情報