fontconfig库有一个函数FcFini
。
docs只是说
FcFini [...]
释放先前调用分配的所有数据结构 fontconfig函数。 Fontconfig返回未初始化状态, 需要在任何其他函数之前调用其中一个FcInit函数 可以调用fontconfig函数。
但是,文档并没有说为什么我可能想要调用它。它会释放一些内存,但我无法想象fontconfig会吞噬大量的内存。无论如何,除非我能确保我再也不会再调用fontconfig,否则我只能在程序结束时调用FcFini,释放内存毫无意义。那么为什么要这么麻烦呢?
顺便提一下,我注意到使用fontconfig的cairo渲染库只在其测试代码中调用FcFini
,但从不在生产代码中调用{{1}}。因此,开罗作者似乎也没有看到调用它的意义......或者他们错了吗?
答案 0 :(得分:3)
典型的原因是从valgrind获取有效输出或净化。如果在退出时出现泄漏,则可能需要减少调试或测试版本中的泄漏。