Ich möchte einen Code erstellen, der beim Laden der gemeinsamen Bibliothek einen Code aufruft. Ich dachte, ich würde es wie folgt tun:
#pragma init(my_init)
static void my_init () {
//do-something
}
int add (int a,int b) {
return a+b;
}
Wenn ich also diesen Code mit
gcc -fPIC -g -c -Wall tt.c
Sie gibt zurück
gcc -fPIC -g -c -Wall tt.c
tt.c:2: warning: ignoring #pragma init
tt.c:4: warning: ‘my_init’ defined but not used
Es ignoriert also meine #pragmas. Ich habe das in echtem Code ausprobiert und mein Code brach ab, weil eine Funktion im Pragma-Abschnitt nicht aufgerufen wurde, weil sie ignoriert wurde.
Wie bringe ich gcc dazu, diese #pragma init und fini Anweisungen zu verwenden?