我正在处理来自哈希表的大数。我想知道在考虑到可移植性的情况下将它们添加到常量(100)中是一种好方法。 Glib的文档强调使用GINT_TO_POINTER不能以任何方式移植。任何想法,将不胜感激!C - Glib GINT_TO_POINTER可移植性
gpointer v, old_key;
gint value; // ?
if(g_hash_table_lookup_extended(table, key, &old_key, &v)){
value = GPOINTER_TO_INT(v); // ?
value = value + 100;
}
g_hash_table_replace(table, g_strdup(key), GINT_TO_POINTER(value)); // ?
这在技术上是正确的,但由于使用'GINT_TO_POINTER' _is_ portable来存储指针中的32位整数,所以这是不必要的,也是低效的。 – ptomato 2010-08-18 09:18:19