V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liuidetmks
V2EX  ›  Apple

苹果的 rosetta 限制是基于技术还是商业上的考量?

  •  
  •   liuidetmks · 2021-12-07 18:06:02 +08:00 · 2412 次点击
    这是一个创建于 1074 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么不让 arm64 的程序 load x86 的动态库呢 ?

    毕竟有时候,第三方库支不支持 M1 这个开发者可控的。

    14 条回复    2021-12-08 09:18:39 +08:00
    2kCS5c0b0ITXE5k2
        1
    2kCS5c0b0ITXE5k2  
       2021-12-07 18:07:46 +08:00   ❤️ 3
    我果黑都看不下去了.
    jfdnet
        2
    jfdnet  
       2021-12-07 18:09:02 +08:00
    果不果黑我都看不下去了 +1
    sunny352787
        3
    sunny352787  
       2021-12-07 18:12:43 +08:00
    要这么说,那算技术上的吧
    kidonng
        4
    kidonng  
       2021-12-07 18:13:18 +08:00 via Android   ❤️ 2
    x86 (长者)会英语( Rosetta )才能和华莱士( arm )谈笑风生
    felixcode
        5
    felixcode  
       2021-12-07 18:16:36 +08:00
    苹果为用户考虑,避免 x86 上的流氓软件破坏系统,所以才做这样的限制。
    不然的话还不是分分钟的事。
    狗头;)
    f64by
        6
    f64by  
       2021-12-07 18:20:39 +08:00   ❤️ 1
    有没有一种可能,是邪恶的 ARM 公司为了打压 x86 生态,拒绝在硬件层面支持 x86 动态库的加载呢?
    thevita
        7
    thevita  
       2021-12-07 18:26:16 +08:00
    因为 rosetta 只是一个过渡方案, 早晚废弃,与其花大力气搞 rosetta 还不如督促开发者尽快 native

    总的来说, 都有,1: 支持进程内转意义,即便不是完全不可能,在目前 rosetta 的架构下也相当难, 2: ROI 太小, 犯不着.
    lakehylia
        8
    lakehylia  
       2021-12-07 18:27:21 +08:00
    管你是不是友军,我的 30 米大刀已经拔出来了,接招吧,骚年。
    agagega
        9
    agagega  
       2021-12-07 18:29:51 +08:00 via iPhone
    用 Rosetta 翻译动态库,涉及到的重定位问题想想就坑多…
    zhzy0077
        10
    zhzy0077  
       2021-12-07 18:33:08 +08:00   ❤️ 2
    可不能乱黑 隔壁为了兼容 Office 和 PS 的旧插件 特地做了 ARM64EC https://blogs.windows.com/windowsdeveloper/2021/06/28/announcing-arm64ec-building-native-and-interoperable-apps-for-windows-11-on-arm/

    使用 ARM64EC 的程序可以直接调用 x86/64 的动态库
    qq316107934
        11
    qq316107934  
       2021-12-07 18:34:10 +08:00
    为啥一个好好的问题底下那么多阴阳怪气的,微软 arm64EC 的 ABI 就实现了 x86,arm 混用啊: https://docs.microsoft.com/zh-cn/windows/uwp/porting/arm64ec

    个人觉得就是技术问题,Rosetta 是为了兼容老程序的,如果提供了指令集混用功能会影响整个迁移进程,可能会有钉子户。
    thevita
        12
    thevita  
       2021-12-07 18:43:09 +08:00
    提到这个,我赶快去看了下 龙芯 在做的 二进制翻译,他们的设计目标就不一样,不是作为过渡方案用的,甚至常用考虑尝试实现 多架构之间的互相翻译,在某些场景下,弱化 /消除 架构差异,而且他们做这个的一大 use case 就是 打印机驱动 ocx 插件,,应该可能会考虑??

    不过 公开信息太少了

    https://zhuanlan.zhihu.com/p/376679541
    liuidetmks
        13
    liuidetmks  
    OP
       2021-12-07 18:44:48 +08:00
    @thevita 正好我看到新闻,uos 兼容了 2000 多打印机驱动了.
    yinzhili
        14
    yinzhili  
       2021-12-08 09:18:39 +08:00
    商业因素更多
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1086 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:20 · PVG 03:20 · LAX 11:20 · JFK 14:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.