我对将多种语言整合到一个单一的操作系统中持怀疑态度。例如:Windows10是用C和汇编构建的,它的核心可以是独立的或内联的程序。操作系统中使用的XML、C#、VB语言又如何呢?几乎所有的metro应用程序都使用XML。一个内核怎么可能成为所有这些不同语言的基础呢?一个操作系统会有多个编译器吗?
发布于 2015-09-23 23:03:06
您的困惑在于操作系统支持的二进制文件的缺失链接。它不是关于操作系统支持或不支持的语言,而是关于操作系统支持的二进制或可执行文件。你可以在windows和Linux上使用C。生成与底层操作系统兼容的二进制(可执行文件)是编译器的职责。内核可以运行一些特定的二进制文件,也可以运行编译器生成的单个二进制文件。
一个操作系统会有多个编译器吗?
没有什么意义,相反,你可以说操作系统支持多个编译器。编译器只是另一个具有独特性的软件,具有相同的两难境地:鸡蛋/鸡是否先于鸡/蛋出现。为了了解在同一操作系统上如何支持不同的二进制文件,您需要了解解释器。但是没有深入到ABI和二进制格式的细节,你可以说,操作系统支持编译器,这些编译器产生可在操作系统中运行的可执行文件
提醒一下:内核只是一组控制系统资源的函数/服务
https://stackoverflow.com/questions/32738046
复制相似问题