我想知道是否可以释放分配的内存
g_thread_init(NULL)
这是我的代码:
int main(void)
{
g_thread_init(NULL);
g_thread_exit(NULL);
}
和valgrind输出:
==1944== HEAP SUMMARY:
==1944== in use at exit: 8,910 bytes in 119 blocks
==1944== total heap usage: 159 allocs, 40 frees, 15,033 bytes allocated
感谢您的帮助。
答案 0 :(得分:2)
g_thread_init()
是一个运行一次的函数,它为GLib中的多线程支持进行设置。它分配的内存永远不会被释放。
在较新版本的GLib(> = 2.32)中,g_thread_init()
实际上是无操作,您根本不需要调用它 - 所有多线程设置都是在您自动完成时自动完成的程序开始。
所以你的问题的答案是:你不能,你不应该尝试。