编译 -fPIC

网友投稿 608 2022-05-29

参考:http://blog.sina.com.cn/s/blog_54f82cc201011op1.html

ppc_85xx-gcc -shared -fPIC liberr.c -oliberr.so

gcc -shared -fPIC -o 1.so 1.c

这里有一个-fPIC参数

PIC就是position independent code

PIC使.so文件的代码段变为真正意义上的共享

编译 -fPIC

如果不加-fPIC,则加载.so文件的代码段时,代码段引用的数据对象需要重定位,重定位会修改代码段的内容,这就造成每个使用这个.so文件代码段的进程在内核里都会生成这个.so文件代码段的copy.每个copy都不一样,取决于这个.so文件代码段和数据段内存映射的位置.

汇编语言

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:国美&华为,战略合作签约!
下一篇:面试官:Zookeeper怎么解决读写、双写并发不一致问题,以及共享锁的实现原理?
相关文章