5 Stimmen

Nachahmung des Konstruktors von statischen Objekten in C

Ich möchte eine globale names Variable, die wie folgt aussieht

char* names[NAMES_CAP];
int names_len = 0;

Und ich möchte, dass jeder, der einen Link zu dieser Bibliothek setzt, einen Eintrag in diese Liste machen kann.

Das ist leicht zu bewerkstelligen von main .

int main(int argc,char**argv) {
    names[names_len++] = "new name";
    names[names_len++] = "new name 2";
}

aber was ist, wenn ich zwei Bibliotheken übereinanderlegen möchte? (z. B. meine Bibliothek, libnames enthält die globale Variable. Und wenn jemand einen Link zu libnameuser wer benutzt libnames werden automatisch alle Namen hinzugefügt, die in libnameuser zum names array in libnames .

Gibt es eine Möglichkeit, das zu tun?

In C++ kann ich die names[names_len++] = "..." an den Konstruktor eines globalen Objekts übergeben, der dann aufgerufen werden muss. Aber kann ich das mit einfachem C tun?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X