【问题标题】:Compiler : How is symbol table passed from source machine to target machine?编译器:符号表如何从源机器传递到目标机器?
【发布时间】:2012-11-06 18:12:21
【问题描述】:

前端和后端都使用符号表,但是假设目标代码将在不同的机器上运行,符号表是如何传递给后端的?它会以某种方式“附加”到中间表示,还是包含在逻辑地址空间的实例中?

【问题讨论】:

  • 哪个符号表,一个用于链接还是一个用于调试(假设它们在您的二进制包装中不同)?
  • @eh9 用于链接,我要求的是通用目的,而不是特定于单个前端。

标签: compiler-construction backend symbol-table


【解决方案1】:

用于链接的符号表放置在中间目标代码文件中,扩展名为 .o 或 .obj,具体取决于平台。有关概述和其他链接,请参阅标题为 Object file 的文章。那里不仅有符号表,还有重定位表和动态链接数据之类的东西,基本上是最终将代码加载到系统 RAM 中并执行所需的一切。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 2011-06-11
    相关资源
    最近更新 更多