J'ai déjà lu la gcc
page de manuel, mais je ne comprends toujours pas la différence entre-fpic
et -fPIC
. Quelqu'un peut-il l'expliquer, d'une manière très simple et claire?
Questions connexes:
J'ai déjà lu la gcc
page de manuel, mais je ne comprends toujours pas la différence entre-fpic
et -fPIC
. Quelqu'un peut-il l'expliquer, d'une manière très simple et claire?
Questions connexes:
man gcc
mais dansinfo gcc
, qui ont plus de documentation.Réponses:
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
Utilisez
-fPIC
ou-fpic
pour générer un code indépendant de la position. L'utilisation-fPIC
ou la-fpic
génération d'un code indépendant de la position dépend de la cible. Le-fPIC
choix fonctionne toujours, mais peut produire un code plus grand que-fpic
(mnénomique pour se souvenir que PIC est dans un cas plus grand, donc il peut produire de plus grandes quantités de code). L'utilisation d'-fpic
option génère généralement un code plus petit et plus rapide, mais aura des limitations dépendant de la plate-forme, telles que le nombre de symboles globalement visibles ou la taille du code. L'éditeur de liens vous dira s'il convient lorsque vous créez la bibliothèque partagée. En cas de doute, je choisis-fPIC
, car cela fonctionne toujours.la source
-fPIC
et-fpic
semble avoir généré le même code. Il semble qu'ils génèrent un code différent uniquement sur m68k, PowerPC et SPARC.Du page de manuel Gcc :
Où:
la source