A
MBCS-CITP schrieb:
Sie entsteht doch als Object erst zur Laufzeit.
Nein, als initialisierte Struktur steht die Tabelle sozusagen im Code-Segment der ausführbaren Datei, und dort kann man nicht reinschreiben. Würde ich die Tabelle komplett zur Laufzeit initialisieren, hätte sie ja gar keinen Sinn mehr.
feigling schrieb:
Ich denke du meinst "typedef struct" anstatt "typedef union" oder ?
Ja, stimmt.
feigling schrieb:
Wegen dem direkten Ansprechen:
In C99 *könnte* sowas klappen:
GlobalVar FAR vartable[] =
{
"Name1", irgendeintyp, i.index = int_pointer},
"Name2", irgendeinanderertyp, i.ptr = pointer_to_far_int_pointer},
"Name3", nocheinanderertyp, i.value = int_value},
...
};
Danke für den Vorschlag, aber das klappt leider nicht; der Compiler unterstützt ohnehin kein C99.
Moritz