首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编译编译器--多少次?

编译编译器--多少次?
EN

Stack Overflow用户
提问于 2010-03-11 17:17:59
回答 3查看 192关注 0票数 6

如果你编译一个新版本的编译器,你应该迭代编译多少次?

首先:使用旧版本编译新版本的compiler1。

第二:使用新编译的one1编译新的version2,以便对二进制文件应用新的优化并修复旧编译器中不存在的bug。

现在是第三名了?重新编译,使用2删除任何潜在的bug,这些bug可能是由于buggy的错误编译而导致的1中的bug ...?

...but如果你是偏执狂,也许into 1引入的bug也会导致2有点bug...?

超过2有意义吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-11 17:22:39

当编译n的结果与编译n - 1的结果相同时,我会停止编译;此时您已经达到了稳定状态。

票数 6
EN

Stack Overflow用户

发布于 2010-03-11 17:26:24

如果您愿意,引导OCaml的说明将邀请您继续until you have reached a fixpoint。假设新的编译器只修复bug而不引入新的bug,您可能需要多次引导才能使自诱导编译器bug消失。

您也可能在没有修复您试图修复的bug的情况下到达固定点,因为bootstrap编译器中存在的bug会使其在引导版本中永久存在(一种非自愿的Ken Thompson)。这在OCaml的历史上至少发生过一次。当他们注意到这一点时,开发人员手动修复汇编代码,以便获得正确的编译器,将正确的源代码转换为正确的编译器。

票数 3
EN

Stack Overflow用户

发布于 2010-03-11 17:28:29

通常,你应该在没有标准库的情况下编译一次,然后得到编译器的部分工作版本。随后,您需要使用标准库支持重新编译:这使您能够获得更多的功能(比如printf检查和libgcc内容)。

我不知道后续的重新编译,但感谢您的信息:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2423728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档