0

私はCプログラムを実行し、明確で間接的な、場合によっては失われたリークをすべて取り除きましたが、今では約6064バイトに相当する到達可能なメモリに遭遇しています。

問題は、valgrindを使用して検索しようとすると、基本的に、コードで直接使用したとは思わない「ImageLoader」への参照が多く、大量のジブリッシュが発生することです。他の唯一のものは、printfステートメントの行番号を示しています。

それで、基本的に私はまだ到達可能なリークを見つけて中和するためのより良い方法があるかどうか疑問に思っていますか?または私がする必要がある場合でも?

助けてくれてありがとう!

4

1 に答える 1

1

通常、まだ到達可能なメモリはあまり心配する必要はありません。メモリがまだ到達可能な場合でも、プログラムはシャットダウンされるため、これらのメモリは OS によって消去されます。

ただし、まだ到達可能なメモリがあると、プログラムを終了する前に適切にクリーンアップする必要がある外部リソースがある状況が隠れている可能性があります。プログラムが外部リソースをまったく使用しない場合、通常は心配する必要はありません。

まだ到達可能なメモリは通常、メイン関数、グローバル、または静的変数にあります。

于 2012-09-15T05:51:56.333 に答える