Compiler Option: -pic

Generate position-independent code (non-x86 Unix shared libs)


The -pic compiler option tells the compiler to generate position-independent code. This is needed for creating shared libraries on x86_64 or ARM Linux/BSD platforms except Win64 (and also not on 32bit x86). This option should not be used when creating executables (as opposed to shared libraries) though.

By default, -pic is enabled when using -dll or -dylib, and disabled for all other compilation modes. Usually you only have to specify -pic if you are using -c or -lib and want to link them into shared libraries later.

-pic is implemented by passing -fPIC to gcc (when using the -gen gcc backend). The -gen gas backend does not support position-independent code since it only supports 32bit x86 and there is no special position-independent code needed for shared libraries on 32bit x86.

See also:
Back to Compiler Options
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki phatcode