zoukankan      html  css  js  c++  java
  • PowerPC-object与elf中的符号引用

     
    一. 符号引用
    编译会先把每个源代码文件编译成object目标文件,然后把所有目标文件链接到一起,成为最终的可执行格式,如elf或exe.
     
    源代码文件中会有很多符号引用,比如一个函数调用另一个函数,一个变量中引用另一个变量。这些引用在目标文件中并不会确定地址,只有在最终链接的时候才会确定。
     
    二. 函数引用实例
     
     
    main函数中调用foo函数,即main函数引用符号foo。main.o或者main.obj中的引用如下:
     
    其中foo的地址为foo@rel24,这不是一个最终的地址,而是一个需要重新定位的地址,rel即是relocate的意思。
     
    elf中的引用为:
    这里已经是最终地址了。
     
    三. 数据引用实例
    ref.c(c99语法)代码如下:
    b_struct引用a_struct。
     
    在ref.o或ref.obj中的引用为:
     
    可以看到bs中as的指针处为0,而不是实际的值,因为此时还不知道as最终会放在哪一个地址。
     
    elf中为:
    这里为最终地址。

     

  • 相关阅读:
    十一作业
    11.20
    11.13 第十二次、
    11.13 第十一次、
    11.06第十次、
    11.06第九次、
    10.30
    10.23
    10.16
    10.9
  • 原文地址:https://www.cnblogs.com/wjcdx/p/9276640.html
Copyright © 2011-2022 走看看