Ya leí la página de gccmanual, pero todavía no puedo entender la diferencia entre -fpicy -fPIC. ¿Alguien puede explicarlo, de una manera muy sencilla y clara?
Preguntas relacionadas:
Ya leí la página de gccmanual, pero todavía no puedo entender la diferencia entre -fpicy -fPIC. ¿Alguien puede explicarlo, de una manera muy sencilla y clara?
Preguntas relacionadas:
man gccpero síinfo gcc, que tiene más documentación.Respuestas:
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
Utilice
-fPICo-fpicpara generar código independiente de la posición. El uso-fPICo la-fpicgeneración de código independiente de la posición depende del objetivo. La-fPICelecció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-fpicopció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
-fPICy-fpicparece 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