fontconfig库有一个函数FcFini
。
医生只是说
FcFini[…]
释放以前调用分配给的所有数据结构fontconfig函数。Fontconfig返回到未初始化状态,需要在任何其他函数之前对FcInit函数之一进行新调用可以调用fontconfig函数。
然而,文档并没有说明我为什么要调用它。它会释放一些内存,但我无法想象fontconfig会吞噬大量内存。无论如何,除非我能确保我再也不会调用fontconfig,否则我只能在程序结束时调用FcFini,在那里释放内存是毫无意义的。那为什么要麻烦呢?
顺便说一句,我注意到使用fontconfig的cairo呈现库只在测试代码中调用FcFini
,而在生产代码中从未调用过。因此,开罗的作者似乎也不认为这样称呼有什么意义……或者他们错了吗?
一个典型的原因是从valgrind或purify获得有效输出。如果您在出口处有泄漏,您可能希望在调试或测试构建中减少这些泄漏。