我想知道如何为/bin的程序支持/bin和ppc体系结构。
比方说我跑
bin $ file amber我得到了
amber: setgid Mach-O universal binary with 2 architectures
amber (for architecture i386): Mach-O executable i386
amber (for architecture ppc): Mach-O executable ppc程序如何在源代码中支持i386和ppc?
换句话说,如果您删除了ppc -architecture?的支持,您可以删除哪些组件,例如/bin/amber中的
发布于 2009-07-19 00:45:22
这叫通用二进制。简而言之,可执行文件包含两种类型的可执行代码。苹果有一个已发表文件,描述开发人员应该如何构建他们的应用程序来在任何一个平台上运行。
可执行文件lipo可用于从文件中删除可执行文件的任一版本。如果您希望您的可执行文件只包含一个版本,则可以使用lipo来实现这一点。
请注意,除了ppc和i386之外,还有更多的东西可供选择,尽管它们是选择通用二进制文件的“最安全”的架构。阅读arch的手册;在这里您可以看到现代OSX二进制文件可能包含任何ppc、ppc64、i386或x86_64。有更多的名单,但他们存在那里的完整性。
发布于 2009-07-19 00:46:49
这叫脂肪二元。
二进制文件中有两个体系结构的本机代码的副本。二进制格式和操作系统必须支持它,因此它可以知道在文件中查找正确代码的位置。
https://stackoverflow.com/questions/1148964
复制相似问题