函数宏

GLibPRIVATE_INIT

自版本:2.32

声明 [src]

#define G_PRIVATE_INIT (
  notify
)

说明 [src]

辅助 GPrivate 静态初始化的宏。

GDestroyNotify 函数应该与键关联时,此宏很有用。当线程退出时,需要释放此键所指向的内存,因此需要此 macro。

此外,当 g_private_replace() 使用时,还将在键中存储的先前值上调用 GDestroyNotify

如果不需要 GDestroyNotify,则不需要使用此宏 — 如果 GPrivate 在静态作用域中声明,则在默认情况下对其进行正确初始化(即:全部为零)。请参阅以下示例。

static GPrivate name_key = G_PRIVATE_INIT (g_free);

// return value should not be freed
const gchar *
get_local_name (void)
{
  return g_private_get (&name_key);
}

void
set_local_name (const gchar *name)
{
  g_private_replace (&name_key, g_strdup (name));
}


static GPrivate count_key;   // no free function

gint
get_local_count (void)
{
  return GPOINTER_TO_INT (g_private_get (&count_key));
}

void
set_local_count (gint count)
{
  g_private_set (&count_key, GINT_TO_POINTER (count));
}

自 2.32 版开始提供

此函数不会直接为语言绑定提供。

参数

notify

类型: -

GDestroyNotify