Nein, es ist nicht. GHashTable
unterstützt keine statische Instanziierung (entweder leer oder aus vorgehashten Daten). Seit 14 Jahren ist a bug report offen, aber es ist unwahrscheinlich, dass es repariert wird, wenn nicht jemand einen konkreten Anwendungsfall (und einen neuen Patch) vorbringt.
Wenn Sie versuchen, eine konstante Hash-Tabelle zu erstellen, möchten Sie vielleicht mit GNU gperf statt GHashTable
suchen. (Beachten Sie, dass gperf
trotz des Namens keine Beziehung zu GLib hat.)
Wenn Sie über die Kosten für den Aufbau der gesamten Hash-Tabelle auf einmal besorgt sind, können Sie die Kosten amortisieren, indem Sie nur jeden Eintrag einfügen, wenn Sie tatsächlich kommen um es zum ersten Mal zu lesen - an diesem Punkt wissen Sie, dass der Standardwert für den Eintrag 255 sein wird.
Vielen Dank, ich werde Int gperf suchen – gabrielesani