在glib-2.0-2.18.3-r1/glib-2.18.3/glib/gutils.c中
guint
g_int_hash (gconstpointer v)
{
return *(const gint*) v;
}
在使用g_hash_table_lookup查找时,直接使用int值就可以,不用再搞个变量,把这个变量的地址传递给该函数。
上面的想法是错误的,这样调用会出错:
char *name = g_hash_table_lookup(g_table1, GINT_TO_POINTER(pid));
修正:
char *name = g_hash_table_lookup(g_table1, &pid);
阅读(830) | 评论(0) | 转发(0) |