首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将32位动态库转换为64位用于osx

将32位动态库转换为64位用于osx
EN

Stack Overflow用户
提问于 2019-07-17 13:49:05
回答 1查看 477关注 0票数 0

如何将现有的动态库编译成64位兼容的mac平台。我没有库的代码库,只有xxx.dylib。

文件xxx.dylib

xxx.dylib: Mach-O通用二进制,有2种体系结构: ppc:Mach-O动态链接共享库ppc xxx.dylib (用于体系结构ppc):Mach-O动态链接共享库ppc xxx.dylib (用于体系结构i386):Mach-O动态链接共享库i386。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-17 14:59:13

您不能。没有原始源代码就无法将dylib重新编译为64位。

更糟糕的是,即使是一些疯狂的二进制后处理也是不可行的。

dylib采用Mach-o最终的fat二进制可执行格式。主要挑战是:

  • 32位x86英特尔代码在i386切片中-你不能轻易地将它们转换成x86-64,这实际上是一个不同的二进制
  • 最有可能的是,虚拟内存的0x1000起源于__TEXT start (在x86-64中通常是0x1000000 ),您也许可以不使用dylib成为,而不是使用 ASLR / PIE,但这很可能会中断。
  • 遗留的Mach-O加载命令,最终有些命令可能不再被内核支持
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57077487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档