如何用T图解释重新托管和重定向?

时间:2012-12-17 13:34:05

标签: compiler-construction portability

我目前正在学习有关编译器的考试,并发现了以下问题:

  

(3 p。) Bootstrapping :解释重新托管重新定位的概念。使用T图。

据我了解,重新托管意味着为另一个平台(主机)编译编译器,所以它应该如下所示:

-------------
| a       b |     --------------
-----   -----     | a        b |
    | c |-------------    ------
    -----| c       x || x |
         -----   ----------
             | ? |
             -----

但这是对的吗? retargeting是什么意思?

1 个答案:

答案 0 :(得分:0)

Retargeting指的是让编译器为不同的CPU或指令集生成代码 不同的CPU是X86和PowerPC 不同的指令集是ARM vs THUMB或x86 vs x86-64(相同的CPU,但是不同的模式)。

Rehosting表示在与编译代码不同的机器上运行代码 新机器通常具有相同的架构 重新托管不一定是微不足道的,因为例如文件系统在编译器系统上看起来可能不同。

请参阅:http://www.cs.southern.edu/halterman/Courses/Spring2009/425/Slides/ch11.pdf

  

重新定位能力
  轻松修改以生成不同目标语言的代码

     

Rehostability
  轻松修改以在不同的计算机上运行

这两个词通常在术语portability中合并 可移植的代码不依赖于体系结构(目标),而与特定机器(主机)的设置无关。