c - 处理器的最低要求是什么才能为其编写 C 编译器?

标签 c compiler-construction

<分区>

我很好奇处理器应该支持的绝对最小指令,以便可以针对它编写标准 C 编译器。这些要求是什么?

最佳答案

答案非常简单。任何Turing complete机器可以模拟任何其他图灵机,可以为它们编写 C 编译器的机器是图灵完备的,因此它们可以被任何图灵机模拟。

C 标准中的 I/O 非常模糊,因此它不需要持久化、从外部可见,甚至不需要执行除返回错误之外的任何操作,因此这不是必需的。与时间相关的函数也是如此(我没有全部看过,也许有异常(exception))。

所以理论上你可以有一个single instruction computer这对于 C 来说已经足够强大了。顺便说一句,大多数其他编程语言也是如此。没有 I/O 不是很有用,但足够了。

严格来说,真正的物理计算机不是图灵完备的,因为它们没有无限内存,但它们足够接近,以至于我们眯着眼睛假装它是同一件事。

关于c - 处理器的最低要求是什么才能为其编写 C 编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40344616/

相关文章:

java - 数据类型的表示是否应由其语言规范严格指定?

c++ - 为什么大型本地数组会使我的程序崩溃,而全局数组却不会?

c - 用于解析参数 GNU 风格的库?

c - 在函数中使用指针的指针的正确方法是什么?

c - 操作一个非常大的 SHA256 哈希文本数据库的最有效方法?

c++ - 成员函数的函数指针由编译器替换的代码

java - 您的 javadoc 是否被编译到您的类文件中?

c - 函数在可执行文件中的位置

c - 删除字符串中的一个字符?

visual-studio - 在编译时检测编译器版本