为什么不让 arm64 的程序 load x86 的动态库呢 ?
毕竟有时候,第三方库支不支持 M1 这个开发者可控的。
1
2kCS5c0b0ITXE5k2 2021-12-07 18:07:46 +08:00 3
我果黑都看不下去了.
|
2
jfdnet 2021-12-07 18:09:02 +08:00
果不果黑我都看不下去了 +1
|
3
sunny352787 2021-12-07 18:12:43 +08:00
要这么说,那算技术上的吧
|
4
kidonng 2021-12-07 18:13:18 +08:00 via Android 2
x86 (长者)会英语( Rosetta )才能和华莱士( arm )谈笑风生
|
5
felixcode 2021-12-07 18:16:36 +08:00
苹果为用户考虑,避免 x86 上的流氓软件破坏系统,所以才做这样的限制。
不然的话还不是分分钟的事。 狗头;) |
6
f64by 2021-12-07 18:20:39 +08:00 1
有没有一种可能,是邪恶的 ARM 公司为了打压 x86 生态,拒绝在硬件层面支持 x86 动态库的加载呢?
|
7
thevita 2021-12-07 18:26:16 +08:00
因为 rosetta 只是一个过渡方案, 早晚废弃,与其花大力气搞 rosetta 还不如督促开发者尽快 native
总的来说, 都有,1: 支持进程内转意义,即便不是完全不可能,在目前 rosetta 的架构下也相当难, 2: ROI 太小, 犯不着. |
8
lakehylia 2021-12-07 18:27:21 +08:00
管你是不是友军,我的 30 米大刀已经拔出来了,接招吧,骚年。
|
9
agagega 2021-12-07 18:29:51 +08:00 via iPhone
用 Rosetta 翻译动态库,涉及到的重定位问题想想就坑多…
|
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 的动态库 |
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 是为了兼容老程序的,如果提供了指令集混用功能会影响整个迁移进程,可能会有钉子户。 |
12
thevita 2021-12-07 18:43:09 +08:00
提到这个,我赶快去看了下 龙芯 在做的 二进制翻译,他们的设计目标就不一样,不是作为过渡方案用的,甚至常用考虑尝试实现 多架构之间的互相翻译,在某些场景下,弱化 /消除 架构差异,而且他们做这个的一大 use case 就是 打印机驱动 ocx 插件,,应该可能会考虑??
不过 公开信息太少了 https://zhuanlan.zhihu.com/p/376679541 |
13
liuidetmks OP @thevita 正好我看到新闻,uos 兼容了 2000 多打印机驱动了.
|
14
yinzhili 2021-12-08 09:18:39 +08:00
商业因素更多
|