摘要: 这个问题在我大三的时候开始搞嵌入式编程一直困扰着我。后来做了一些实验搞懂了,但当时还没有写博客的习惯。 * p_vaddr 也就是运行地址 该成员给出了该段在内存中的首字节地址。* p_paddr 也就是加载地址 在物理地址定位有关联的系统中,该成员是为该段的物理地址而保留的。由于 System V 阅读全文
posted @ 2016-07-21 19:40 __sipl 阅读(760) 评论(0) 推荐(0) 编辑
摘要: 在编译共享库必须加上-fpic。这是为什么呢? 首先看一个简单的例子: 先不加-fpic的情况下生成库,反汇编查看fun1的机器码 可以看出调用printf的位置是那个唯一的一个call,并不是跳转到plt表,有关plt表的内容可以查看我前面的博文。也就是说在该库被加载时需要修改代码段来达到重定位的 阅读全文
posted @ 2016-07-21 13:51 __sipl 阅读(2775) 评论(0) 推荐(0) 编辑