Macos 确定可执行文件(或库)是32位还是64位

Macos 确定可执行文件(或库)是32位还是64位,macos,binary,osx-snow-leopard,Macos,Binary,Osx Snow Leopard,是否有可能获取有关OSX上任何二进制文件的信息,以确定它是32位还是64位二进制文件 我使用了“otool”命令,但找不到此类信息。使用文件命令而不是otool。它将列出二进制文件中的所有体系结构。在英特尔Mac电脑上,i386是32位的,x86_64是64位的 尼古拉斯在评论中说,lipo-info也有效。这是您必须在静态库上使用的,因为文件仅显示“当前ar存档随机库”。太好了!为我没有发现这一点感到羞愧:)lipo-info对于确定静态库的体系结构更有用。file/path/to/your/

是否有可能获取有关OSX上任何二进制文件的信息,以确定它是32位还是64位二进制文件


我使用了“otool”命令,但找不到此类信息。

使用
文件
命令而不是
otool
。它将列出二进制文件中的所有体系结构。在英特尔Mac电脑上,i386是32位的,x86_64是64位的

尼古拉斯在评论中说,
lipo-info
也有效。这是您必须在静态库上使用的,因为
文件
仅显示“当前ar存档随机库”。

太好了!为我没有发现这一点感到羞愧:)
lipo-info
对于确定静态库的体系结构更有用。
file/path/to/your/binaryFile
在macOS 10.14上,Mojave在各种可执行文件上对我都很有用,无论是.app包中的可执行文件还是打印机驱动程序、插件,lipo-info的唯一问题是它在非二进制可执行文件上出错。例如,如果您运行GNU
find
如下:
gfind/opt/local/bin-executable-exec lipo-info“{}”,脚本上会出现错误。例如,
致命错误:lipo:无法确定:/opt/local/bin/hg
的架构类型在这种情况下,
文件
是一个更好的命令。