Content #
位置无关代码(Position-Independent Code, PIC),共享库的编译必须使用该选项。
这两个参数从功能上来讲完全一样,都是指示GCC产生地址无关代码。唯一的区别是,“-fPIC”产生的代码要大,而“-fpic”产生的代码相对较小,而且较快。
那么我们为什么不使用“-fpic”而要使用“-fPIC”呢?原因是,由于地址无关代码都是跟硬件平台相关的,不同的平台有着不同的实现,“-fpic”在某些平台上会有一些限制,比如全局符号的数量或者代码的长度等,而“-fPIC”则没有这样的限制。所以为了方便起见,绝大部分情况下我们都使用“-fPIC”参数来产生地址无关代码。
From #
程序员的自我修养