MacOS在2005年开始使用X86芯片,按理说与X86的Windows,所用的指令集是一样的,为何Windows上的EXE不能在MacOS上运行呢?如何才能兼容呢?
1、x86的Win和Mac在底层的汇编指令,的确可以相同。但现代计算机程序要运行,是离不开系统支持滴。
2、处理硬件对应的系统支持函数不一样。虽然指令集相同,不代表着具体实现相同。这个差之毫厘失之万里。
3、不同系统对于可执行文件的格式不一样,如此在装载、初始化等领域很不一样。二者属于商业竞争,专利的缠斗,使得其必须具有差异性,才能相安无事。
4、如果纯从底层指令集来看,应该是可以通过软件的方式实现兼容滴。不过,应该很复杂。比如WINE,原生级支持,但非常折腾还不一定能跑起来。
总之,系统都不一样了,所代表的软件生态就不一样了。硬是要跨界,最终也会不伦不类。更何况,苹果后面要抛弃X86架构了,兼容没得啥意义。与其这样说兼容,还不如直接在x86的苹果本本上装Windows,这才叫底层兼容(气死一帮人算佬)。