产生地址无关代码的四种情形

产生地址无关代码的四种情形

Content #

把共享对象模块中的地址引用按照是否为跨模块分成两类:模块内部引用和模块外部引用;按照不同的引用方式又可以分为指令引用和数据访问,这样我们就得到了如图所示的4种情况。第一种是模块内部的函数调用、跳转等。第二种是 模块内部的数据访问(PIC),比如模块中定义的全局变量、静态变量。第三种是模块外部的函数调用、跳转等。第四种是模块外部的数据访问,比如其他模块中定义的全局变量。

From #

程序员的自我修养