私はdlopenを使用して「lib1.so」などの動的ライブラリをロードし、A1などの1つの公開された関数を呼び出します。A1関数はmallocを使用して100kbの動的メモリを割り当てますが、それを解放しません。メイン関数で再びすべてdlcloseします。[dlopen、関数 A1 の呼び出し、dlclose]
この手順を 10 回繰り返します。Purify はこれを 1000KB のメモリ リークとして報告し、valgrind は間接的に 1000KB を失ったと報告します。
100 KB * 10 回 = 1000KB を提案していただけますか? 本当のメモリ リークですか? dlclose を呼び出したので、動的ライブラリに割り当てられたすべてのメモリは、dlclose を呼び出すと自動的に解放されますか?
OS: Linux プログラミング lan: C