c - fontconfig 库中的 FcFini 有什么意义?

标签 c resource-cleanup fontconfig

fontconfig 库有一个函数FcFini

docs就说

FcFini [...]

Frees all data structures allocated by previous calls to fontconfig functions. Fontconfig returns to an uninitialized state, requiring a new call to one of the FcInit functions before any other fontconfig function may be called.

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

顺便说一句,我注意到 cairo使用 fontconfig 的渲染库仅在其测试代码中调用 FcFini,但从不在生产代码中调用。所以 cairo 的作者们似乎也没有看到调用它的意义……或者他们错了吗?

最佳答案

一个典型的原因是从 valgrind 或 purify 获得有效的输出。如果您在退出时有泄漏,您可能希望减少调试或测试构建中的泄漏。

关于c - fontconfig 库中的 FcFini 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26578993/

相关文章:

python - 使用 __del__ 在清理文件中保存状态?

java - 关闭 CloseableHttpResponse/CloseableHttpClient 的正确方法

linux - CentOS 和 fontconfig : Cannot load default config file

bash 。传递包含空格的变量

c - 如何将结构初始化为安全值

未执行的代码会减慢程序速度

在递归函数中更改数组的内容

c - 比较 GPS 时间戳的有效方法

java - 垃圾收集器销毁对象后删除文件

linux - 如何在 fontconfig 中设置每个 Unicode 范围/代码点的字体?