1

fontconfig ライブラリには関数がありますFcFini

ドキュメントはただ言う

FcFini [...]

以前の fontconfig 関数の呼び出しによって割り当てられたすべてのデータ構造を解放します。Fontconfig は初期化されていない状態に戻り、他の fontconfig 関数を呼び出す前に、FcInit 関数の 1 つを新たに呼び出す必要があります。

ただし、ドキュメントには、なぜそれを呼び出す必要があるのか​​ は記載されていません。いくらかのメモリが解放されますが、fontconfig が膨大な量のメモリをむさぼり食うとは思えません。いずれにせよ、二度と fontconfig を呼び出さないことを確認できない限り、FcFini を呼び出すことができるのはプログラムの最後だけであり、メモリを解放しても意味がありません。では、なぜわざわざ?

ちなみに、 fontconfig を使用するcairoFcFiniレンダリング ライブラリは、テスト コードでのみ呼び出しを行い、製品コードでは呼び出しを行わないことに気付きました。だから、カイロの作者もそれを呼ぶ意味を理解していないようです... それとも彼らは間違っていますか?

4

1 に答える 1

4

典型的な理由は、valgrind または purify から有効な出力を得ることです。終了時にリークがある場合は、デバッグ ビルドまたはテスト ビルドでリークを減らすことができます。

于 2014-10-26T23:11:17.530 に答える