我理解编译器的作用是将源代码编译成计算机可以理解的机器码。但是,我想知道的是,这个机器码是否针对每个不同的操作系统而有所不同?在Mac、Windows和Linux操作系统上,为了同一种语言是否需要编写不同的编译器呢?请详细阐述答案是否定的、肯定的或介于两者之间。
我理解编译器的作用是将源代码编译成计算机可以理解的机器码。但是,我想知道的是,这个机器码是否针对每个不同的操作系统而有所不同?在Mac、Windows和Linux操作系统上,为了同一种语言是否需要编写不同的编译器呢?请详细阐述答案是否定的、肯定的或介于两者之间。
请记住,运行在一个操作系统上的编译器可以为另一个操作系统生成代码。
因此,如果我为操作系统A编写编译器,并且它可以为操作系统B生成核心,则我可以编译为A编写的编译器,但输出为B。然后我就有了一个针对B的编译器。从技术上讲,有些人可能不会称其为同一编译器。