gpt4 book ai didi

compiler-construction - 编译为机器代码的编译器是否需要用汇编编写?

转载 作者:行者123 更新时间:2023-12-05 08:58:59 28 4
gpt4 key购买 nike

除了将一种高级语言转换为另一种高级语言的编译器之外,任何编译为机器代码的编译器都需要用汇编编写吗?

最佳答案

编译器的源代码不需要用汇编语言编写。例如,CPython 编译器(好吧,技术上解释器)的(很大一部分)是用 C 语言编写的: http://en.wikipedia.org/wiki/Cpython

一开始,在出现编译器之前,第一个编译器确实必须用汇编语言编写。但是后来有人用这个编译器编译了自己的编译器。然后别人用这个编译器编译了自己的编译器。等等。

这提出了“自举”的概念。自举编译器是用它打算编译的语言编写的编译器。 clang编译器可以编译C++代码,但是编译器本身是用C++写的!这是如何运作的?好吧,第一个 clang 编译器是由另一个编译器编译的(可能是 g++)。 clang编译器足够成熟之后,就可以编译出自己的代码了。现在,对 clang 编译器所做的任何更改都可以由 clang 编译器重新编译到另一个 clang 编译器中!整洁吧?

关于compiler-construction - 编译为机器代码的编译器是否需要用汇编编写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18723139/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com