zoukankan      html  css  js  c++  java
  • 未解决符号表,导出符号表和地址重定向表

    让我们总结一下:编译器把一个cpp编译为目标文件的时候,除了要在目标文件里写入cpp里包含的数据和代码,还要至少提供3个表:未解决符号表,导出符号表和地址重定向表。 
        未解决符号表提供了所有在该编译单元里引用但是定义并不在本编译单元里的符号及其出现的地址。 
        导出符号表提供了本编译单元具有定义,并且愿意提供给其他编译单元使用的符号及其地址。 
        地址重定向表提供了本编译单元所有对自身地址的引用的记录。 
        链接器进行链接的时候,首先决定各个目标文件在最终可执行文件里的位置。然后访问所有目标文件的地址重定向表,对其中记录的地址进行重定向(即加上该编译 单元实际在可执行文件里的起始地址)。然后遍历所有目标文件的未解决符号表,并且在所有的导出符号表里查找匹配的符号,并在未解决符号表中所记录的位置上 填写实际的地址(也要加上拥有该符号定义的编译单元实际在可执行文件里的起始地址)。最后把所有的目标文件的内容写在各自的位置上,再作一些别的工作,一 个可执行文件就出炉了。 

    http://blog.csdn.net/yby4769250/article/details/7360483

  • 相关阅读:
    不要再胡思乱想了
    sqoop和mysql之间导出问题
    reids3.0安装文档
    java面试
    java面试2
    大数据面试题 ---阿善有用
    rdd-api整理
    RDD弹性分布式数据集特性总结
    spark-on-yarn配置参数
    资源调度
  • 原文地址:https://www.cnblogs.com/feng9exe/p/8270024.html
Copyright © 2011-2022 走看看