Ya leí la página de gcc
manual, pero todavía no puedo entender la diferencia entre -fpic
y -fPIC
. ¿Alguien puede explicarlo, de una manera muy sencilla y clara?
Preguntas relacionadas:
Ya leí la página de gcc
manual, pero todavía no puedo entender la diferencia entre -fpic
y -fPIC
. ¿Alguien puede explicarlo, de una manera muy sencilla y clara?
Preguntas relacionadas:
man gcc
pero síinfo gcc
, que tiene más documentación.Respuestas:
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
Utilice
-fPIC
o-fpic
para generar código independiente de la posición. El uso-fPIC
o la-fpic
generación de código independiente de la posición depende del objetivo. La-fPIC
elección siempre funciona, pero puede producir un código más grande que-fpic
(mnenómico recordar esto es que PIC está en un caso más grande, por lo que puede producir grandes cantidades de código). El uso de la-fpic
opción generalmente genera un código más pequeño y más rápido, pero tendrá limitaciones dependientes de la plataforma, como la cantidad de símbolos visibles globalmente o el tamaño del código. El vinculador le dirá si encaja cuando cree la biblioteca compartida. En caso de duda, elijo-fPIC
, porque siempre funciona.fuente
-fPIC
y-fpic
parece haber generado el mismo código. Parece que generan un código diferente solo en m68k, PowerPC y SPARC.Desde la página del manual de Gcc :
Dónde:
fuente