11 Stimmen

#pragma init und #pragma fini unter Verwendung des gcc-Compilers auf Linux

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?

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