J'ai affaire à de gros nombres provenant de la table de hachage. Je me demande ce qui serait un bon moyen de les ajouter à une constante (100) en tenant compte de la portabilité. La documentation de Glib souligne que l'utilisation de GINT_TO_POINTER n'est en aucun cas portable. Toute idée serait appréciée!C - Glib Portabilité 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)); // ?
Ceci est techniquement correct, mais puisque l'utilisation de 'GINT_TO_POINTER' _is_ portable pour stocker des entiers de 32 bits dans les pointeurs, il est inutile et inefficace. – ptomato