-pic编译器选项告诉编译器生成位置代码。这是在x86_64或ARM Linux / BSD平台上创建共享库所需的,除了Win64(而且也不在32位x86上)。创建可执行文件(而不是共享库)时不应使用此选项。
默认情况下,
-pic在使用
-dll or -dylib时启用,并对所有其他编辑模式禁用。通常,如果您使用
-c或
-lib并希望稍后将它们链接到共享库中,则只需指定
-pic.
-pic通过将
-fPIC传递给gcc(使用-gen gcc后端时)来实现。-gen气体后端不支持位置无关代码,因为它只支持32位x86,32位x86上的共享库没有特殊的独立代码。