哪位老哥能解释一下 Rosetta 的实现原理?
資深大佬 : wangyzj 2
编译原理难啊,搞不明白也懒得再看
求老哥能通俗易通详细深入的解释
多谢老哥

大佬有話說 (10)
编译原理难啊,搞不明白也懒得再看
求老哥能通俗易通详细深入的解释
多谢老哥

简单说就是一个胖翻译,而且给皇军打报告的前会预先备好翻译好的稿件提高效率
另外早期 ART 是安装的时候进行转换,安装时间较长,现在是运行中用到对应代码才转换。而 Rosetta 2 是第一次打开转换,第一次打开时间较长。Windows on ARM 据说是运行软件过程中即时翻译,相对前两者有较大性能损失,可能以后也会改成预先转制。
以上都是道听途说的,没有考证过。
而不是 在 arm 上虚拟一个 x86 兼容环境
估计是专门弄了个对应目录存放转换后的文件,启动的时候会做个判断看软件本身有没有符合本机架构的二进制文件,没有就调用转换的。