相关疑难解决方法(0)

用自己的语言编写编译器

直观地说,似乎语言的编译器Foo本身不能用Foo编写.更具体地说,语言的第一个编译器Foo不能用Foo编写,但可以编写任何后续的编译器Foo.

但这是真的吗?我对一种语言的阅读非常模糊,这种语言的第一个编译器是用"本身"编写的.这是可能的,如果是这样的话怎么样?

compiler-construction bootstrapping

196
推荐指数
7
解决办法
4万
查看次数

为什么 GCC 会自己编译 3 次?

我编了从源头GCC,但我似乎无法完全理解的效用gcc编制本身3倍。

这有什么好处?

这个答案说:

  • 使用现有的 C 编译器构建新版本的 GCC
  • 用您刚刚构建的 GCC 重新构建新版本的 GCC
  • (可选)重复步骤 2 以进行验证。

现在我的问题是,一旦第一步完成并构建了编译器,为什么还要浪费时间重建它?

只是为了验证吗?如果是这样,那似乎很浪费。

事情在这里变得更复杂,

这个构建比以前的包更复杂,因为您将更多信息发送到配置脚本中,而 make 目标不是标准的。

我的意思是整个编译器都是用 C 编写的,那么为什么不一次性完成所有事情呢?

三相自举有什么用?

提前致谢。

architecture compiler-construction gcc bootstrapping

7
推荐指数
2
解决办法
1046
查看次数

"C或gcc"就像"鸡肉还是鸡蛋"?:(

可能重复:
gcc/g ++是如何引导的?

我想知道gcc是如何编译的,因为我们都知道它是用C语言编写的.

他们是否使用其他编译器来提供gcc?

如果是这样,我可以使用相同的编译来编译我的C程序吗?

c glibc

2
推荐指数
1
解决办法
517
查看次数

他们是如何编写MSVC++ Debugger的?

可能重复:
"C或gcc"就像"鸡肉还是鸡蛋"?:(

如果visual c ++调试器是用于调试正在运行的程序的工具,调试器在开发时会调试什么?鸡蛋困境?他们是如何调试Visual C++调试器的?

c++ visual-studio

0
推荐指数
1
解决办法
112
查看次数