Compiler Option: -pic
 
Generate position-indepedent code (non-x86 Unix shared libs)

Syntax

-pic

Description

The -pic compiler option tells the compiler to generate position-indepedent 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-indepedent code since it only supports 32bit x86 and there is no special position-indepedent code needed for shared libraries on 32bit x86.

See also