マニュアルページは私に多くのことを教えてくれました。それを通して、「glibc」のメモリ管理の背景知識をたくさん知っています。
しかし、私はまだ混乱しています。「malloc_trim(0)」(パラメーターとしてゼロに注意) は、( 1. )「ヒープ」セクションのすべてのメモリが OS に返されることを意味しますか? または(2.)ヒープの最上位領域のすべての「未使用」メモリだけがOSに返されますか?
答えが ( 1. ) の場合、ヒープ内のメモリがまだ使用されている場合はどうなりますか? ヒープがどこかでメモリを使用した場合、それらは削除されますか、それとも関数は正常に実行されませんか?
一方、答えが ( 2. )の場合、ヒープの上部ではなく場所にある「穴」はどうですか? それらはもう使用されていないメモリですが、ヒープの一番上の領域はまだ使用されています。この呼び出しは効率的に機能しますか?
ありがとう。