首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确定Mac上静态库(.a)的目标架构?

如何确定Mac上静态库(.a)的目标架构?
EN

Stack Overflow用户
提问于 2009-07-06 02:12:54
回答 4查看 103K关注 0票数 138

我有兴趣验证给定的iPhone静态库是否是为ARM或英特尔构建的。

好奇心比任何东西都要强。有没有某种Mac或BSD特定的工具可以做到这一点?这个post给出了Linux中的一个例子。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-14 18:20:37

另一种选择是lipo;它的输出比otool的输出简短且更具可读性。

举个例子:

代码语言:javascript
复制
% lipo -info /usr/lib/libiodbc.a 
Architectures in the fat file: /usr/lib/libiodbc.a are: x86_64 i386 ppc
% lipo -info libnonfatarchive.a
input file libnonfatarchive.a is not a fat file
Non-fat file: libnonfatarchive.a is architecture: i386
%
票数 257
EN

Stack Overflow用户

发布于 2009-07-06 02:23:45

file可能会告诉你。otool当然应该能够做到。但我会先试试file,例如:

代码语言:javascript
复制
logan:/Users/logan% file d2
d2: Mach-O executable ppc

存档示例:

代码语言:javascript
复制
logan:/Users/logan% file /usr/lib/libMallocDebug.a
/usr/lib/libMallocDebug.a: Mach-O universal binary with 2 architectures
/usr/lib/libMallocDebug.a (for architecture i386):      current ar archive random library
/usr/lib/libMallocDebug.a (for architecture ppc):       current ar archive
票数 71
EN

Stack Overflow用户

发布于 2017-02-08 06:04:20

此bash脚本将帮助您以编程方式将架构列表放入一个变量中。

list_archs.sh:

代码语言:javascript
复制
#! /bin/bash
lipo -info $1 | sed -En -e 's/^(Non-|Architectures in the )fat file: .+( is architecture| are): (.*)$/\3/p'

使用示例:

代码语言:javascript
复制
./list_archs.sh /usr/lib/libc.dylib
x86_64 i386
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1085137

复制
相关文章

相似问题

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