私はglib
g_hash_table
、int64をキーとして、ポインターを値として、ハッシュテーブルを作成するために使用しています。
このコードを試しましたが失敗します:
GHashTable* hash = g_hash_table_new(g_int64_hash, g_int64_equal);
uint64_t mer_v = 0;
exist_m = g_hash_table_lookup(hash, mer_v);
エラーを報告します:
(gdb) bt
#0 IA__g_int64_hash (v=0x1d89e81700000) at /build/buildd/glib2.0-2.24.1/glib/gutils.c:3294
#1 0x00007ff2de966ded in g_hash_table_lookup_node (hash_table=0x13a4050, key=0x1d89e81700000) at /build/buildd/glib2.0-2.24.1/glib/ghash.c:309
#2 IA__g_hash_table_lookup (hash_table=0x13a4050, key=0x1d89e81700000) at /build/buildd/glib2.0-2.24.1/glib/ghash.c:898
私はglib
データ構造を頻繁に使用しましたが、キーint64でhash_tableを試したことはありません。Googleからのヘルプが見つかりません。このチュートリアルにもヒットはありません:http ://www.ibm.com/developerworks/linux/tutorials/l-glib/section5.html 。
助けてください。ありがとう。