gpt4 book ai didi

c - 如何在没有 C native 编译器的情况下创建 C 编译器

转载 作者:太空狗 更新时间:2023-10-29 14:53:24 26 4
gpt4 key购买 nike

这是一个简单的问题。如果要编译 C 编译器需要一个 C 编译器......也许直接用汇编代码?也许内核提供了一个将 C 语言转换为汇编语言并创建不断升级的基础设施的基本工具?这也是一个愚蠢的问题,但我真的很感兴趣如何从 0 开始设计一个操作系统(不是我)来与 CPU 和内存交互。

最佳答案

自举

如果您想查找它,它来自短语“靠自己的力量振作起来”。自举是一个简单的过程,但需要大量工作。

  1. 用另一种语言编写 C 编译器。

  2. 用 C 写一个 C 编译器。

  3. 使用第 1 步中的编译器编译第 2 步中的编译器。

一些其他编译器必须引导,而不仅仅是 C 的编译器。例如,GHC必须用于编译自身。

请注意,只有在满足以下两个条件时才需要引导:

  1. 您正在发明一种新语言,因此没有现成的编译器。

  2. 您想用您正在编译的语言编写编译器。

这与操作系统无关。如果您正在设计操作系统,那么您已经有足够多的工作要做。如果您的新操作系统还没有 C 编译器,您可以从不同的操作系统交叉编译编译器。工作量要少得多 — 可能只需几个小时或几天,而不是几个月或几年。

关于c - 如何在没有 C native 编译器的情况下创建 C 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14698786/

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