c - 在操作系统中安装编译器

标签 c assembly

您好,我一直在关注剑桥计算机实验室:烘焙 Pi 指南,您可以在其中为树莓派组装的 ARM CPU 构建自己的简单操作系统。我的问题是,你如何能够实现一个简单的 C 编译器,以便我可以在操作系统中运行基本的 C 程序(你如何能够在没有必要的头文件的情况下进行编译?你需要自己实现它们吗)

最佳答案

好吧,这是一项巨大任务...

  1. 编写一个 ARM 汇编器。 C 程序(通常)被翻译成汇编然后组装。对于 C 编译器,您无论如何都需要这一步,因此拥有一个单独的汇编器是个好主意,这样您就可以准备好另一个工具。汇编程序相对容易编写。
  2. 编写一个 C 编译器(乐趣从这里开始)。这应该将 C 代码转换为汇编代码。
  3. 为您的 C 程序构建一个标准的 C 库。该库必须与您的操作系统接口(interface)。我建议你的操作系统遵循一些操作系统标准(比如 POSIX)。这将使这部分更简单。
  4. 写一个链接器。这将采用汇编器生成的目标文件并将它们与相应的库(如果有)链接起来。
  5. ???
  6. 利润

关于c - 在操作系统中安装编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17679332/

相关文章:

c - 制作 : pattern rule not applied?

c# - c -> c# 翻译、工具

c - 使用 execve 系统调用在 C 中进行网络编程

assembly - 调用 WinApi 函数后 RIP 损坏

c++ - 当我尝试构建 gnome builder 时,ninja 在 glib ctype.h 文件中给出错误

c - 函数声明与原型(prototype)的替代 (K&R) C 语法

assembly - MIPS——这重要吗?

assembly - 为什么x86 movsd导致三重故障异常?

performance - "fast"到底是怎样的现代CPU?

c - 根据使用的周期平衡分支