我只是想知道,如果任何语言的所有编译器都将代码转换为计算机内部唯一“对话”的语言(机器代码 - 零和一),为什么将 .NET Windows 应用程序传递到 Mac 应用程序如此困难?
难道不应该有人有一个绝妙的想法(自从我三年前结婚以来,我就没有什么绝妙的想法了!)并且有一个......我不知道......一个机器代码框架,而不是编译器转换为机器代码,它将转换为该框架,将安装在任何平台(SuSE、fsb、Ubuntu、AIX、SCO、OS X、Windows 9x、Vista、7 等)中。
我想知道为什么我们现在不能做这么简单的事情......
有什么想法吗?
事实上,它已经完成了。至少在某种程度上。
其中一项成果称为 Java,它是一种跨平台语言。 Java编译器将源代码编译为“字节码”,它只不过是一种独立于机器的“汇编语言”。这个“可执行文件”随后由Java虚拟机(JVM)执行,这是各个平台不同的部分(即Windows JVM与MacOS JVM明显不同)。
然而,跨平台应用程序并不是那么简单。编写一个为每个可能的平台执行某种抽象字节码的基本虚拟机相对简单。但如果语言本身缺乏丰富的类库,那么它实际上什么也不是。因此,由于各种原因,实现上述类库是一件非常困难的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)