在fontconfig库中,FcFini的重点是什么?

时间:2014-10-26 23:05:23

标签: c resource-cleanup fontconfig

fontconfig库有一个函数FcFini

docs只是说

  

FcFini [...]

     

释放先前调用分配的所有数据结构   fontconfig函数。 Fontconfig返回未初始化状态,   需要在任何其他函数之前调用其中一个FcInit函数   可以调用fontconfig函数。

但是,文档并没有说为什么我可能想要调用它。它会释放一些内存,但我无法想象fontconfig会吞噬大量的内存。无论如何,除非我能确保我再也不会再调用fontconfig,否则我只能在程序结束时调用FcFini,释放内存毫无意义。那么为什么要这么麻烦呢?

顺便提一下,我注意到使用fontconfig的cairo渲染库只在其测试代码中调用FcFini,但从不在生产代码中调用{{1}}。因此,开罗作者似乎也没有看到调用它的意义......或者他们错了吗?

1 个答案:

答案 0 :(得分:3)

典型的原因是从valgrind获取有效输出或净化。如果在退出时出现泄漏,则可能需要减少调试或测试版本中的泄漏。