日期:2014-05-16  浏览次数:20673 次

问一个《深入理解计算机系统》中的问题
本人菜鸟,最近正在看《深入理解计算器系统》英文版,在第七章遇到个问题,怎么也不明白,希望高手解答一些,谢谢~
  第7章Linking中有几个概念symbol, reference, symbol definition不太明白它们之间的区别到底是什么……我理解symbol就是global variables和functions的名字,存在symbol talble里面;reference就是.data或者.text等里面的实实在在的数据,而symbol definition就是symbol table里面对symbol的定义(也就是书里说的Elf_symbol的structure)。
  但是看到7.7 Relocation就不明白了:里面有个refptr和refaddr看了半天没明白它们之间的联系是什么……
  谢谢!!!

------解决方案--------------------
这样看,
refaddr: 函数入口
refptr: 函数调用点