1

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

(第 3 页)引导:解释重新托管重新定位的概念。使用 T 图。

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

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

但它是正确的吗?是什么retargeting意思?

4

1 回答 1

0

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

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

见:http ://www.cs.southern.edu/halterman/Courses/Spring2009/425/Slides/ch11.pdf

可重定位
性 轻松修改以生成不同目标语言的代码

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

这两个术语通常在术语中组合在一起portability
可移植的代码不依赖于架构(目标),也不依赖于特定机器(主机)的设置。

于 2014-05-15T23:00:42.297 回答