'-fPIC' ist ein Flag für den C-Compiler 'gcc', wodurch positionsunabhängiger Code erzeugt wird. Positionsunabhängiger Code ist wichtig beim Kompilieren von Bibliotheken, die dynamisch verknüpft werden sollen, auch bekannt als .dll (dynamisch verknüpfte Bibliotheken) in Windows oder .so (gemeinsame Objekte) in Linux.
Verwenden Sie dieses Tag, wenn Sie Probleme beim Kompilieren von Code haben, wenn das Flag '-fPIC' verwendet wird, oder wenn Sie nach dem Erstellen von Binärdateien mit diesem Flag fragen.
Betrachten Sie diesen Code:
%Vor%
Beim Kompilieren mit gcc 7.2:
%Vor%
Dies emittiert:
%Vor%
Wenn Sie jedoch den gleichen Code mit denselben Flags unter Verwendung von clang 3.9 erstellen:
%Vor%
gcc ruft next() über den PLT auf...
30.08.2017, 23:24
Gibt es eine Möglichkeit zu überprüfen, ob eine Objektdatei (.o-Datei) PIC-fähig ist?
05.05.2011, 09:24
Ich habe einige Zweifel darüber, wie Programme Shared Library verwenden.
Wenn ich eine shared library (mit -shared -fPIC-Switches) erstelle, stelle ich einige Funktionen von einem externen Programm zur Verfügung.
Normalerweise mache ich eine...
24.07.2009, 08:36