我正在處理來自哈希表的大數。我想知道在考慮到可移植性的情況下將它們添加到常量(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