error
cpu架構是cpu廠商給屬於同一系列的cpu產品定的乙個規範,主要目的是為了區分不同型別cpu的重要標示。
arm
公司:arm
架構
intel
公司:intelx86
系列架構
amd
公司:amdx86
系列架構
電腦: 一般是x86 / x64
手機: 一般是arm
(微處理器,功耗低,體積小)
32位
:intel
的x86
系列 /arm
的armv7 armv7s
系列
64位
:intel
的x64
系列 /arm
的arm64
系列
arm64
:iphone5s| ipad air| ipad mini2(ipad mini with retina display) 以上裝置都屬於arm64架構,armv8系列也是64位
armv7s
:iphone5|iphone5c|ipad4(ipad with retina display)
armv7
:iphone3gs|iphone4|iphone4s|ipad|ipad2|ipad3(the new ipad)|ipad mini|ipod touch 3g|ipod touch4
armv6
裝置: iphone, iphone2, iphone3g, 第一代、第二代 ipod touch(一般不需要去支援,xcode中也去掉了)
arm64
是屬於64位架構,新版產品都是64位
armv7
和armv7s
屬於32位架構,armv7s
在打包時,是「包含」armv7
的,所以打包靜態庫時,選擇了armv7
和armv7s
兩個架構,只會編譯出armv7s
架構的.a庫
architectures
指定工程被編譯成可支援哪些指令集型別,這是乙個總集
,一般standard architectures
就包含所有需要的指令集型別
build active acrhitecture only
表示是否只編譯正在執行裝置匹配的指令集,例如如果iphone 5s
,則只會編譯arm64
架構
valid architectures
表示有效的的指令集型別,這相當乙個子集
最終編譯出來的架構型別是architectures
和valid architectures
的交集
例如:architectures
=[armv7,armv7s,arm64]
valid architectures
=[armv7,armv7s]
則最終結果為[armv7s]
,armv7
由於被armv7s
包含,所以過濾掉了
architectures
=[armv7,armv7s,arm64]
valid architectures
=[armv7,arm64]
則最終結果為[armv7,arm64]
architectures
=[armv7,armv7s]
valid architectures
=[armv7,arm64]
則最終結果為[armv7]
如何檢視編譯好之後的.a
以及動態庫
指令集呢
使用lipo -info
檢視
1.對於framework
檔案,需要檢視其內部執行檔案。例如***.framework
,需要lipo -info ***.framework/***
才是正常
2.對於.a .so .dylib
等檔案,直接呼叫即可
nm
命令可以用於檢視執行檔案中是否包含某個函式符號
例如:判斷libwechaat.a
是否使用了私有方法dlopen() dlsym()
先cd到目錄下,nm -u libwechaat.a >> ***.txt
然後檢視txt
檔案判斷是否包含方法
使用命令列過濾nm libwechaat.a | grep dlopen
building for ios simulator, but linking in object file built for ios, file for architecture arm64
在xcode12之後,會出現這個問題,缺省會新增模擬器的arm64架構。
處理請參考
IOS應用開發架構
做ios開發將近兩年了,寫過不少 做過不少專案。分享一下我設計ios應用的架構。我的ios應用開發結構圖 整體結構很清晰,是乙個樹狀結構。1 關於coreengine 伺服器端返回的資料到達net層,net層通過delegate協議傳回到coreengine,即coreengine實現net層的de...
IOS應用開發架構
做ios開發將近兩年了,寫過不少 做過不少專案。分享一下我設計ios應用的架構。我的ios應用開發結構圖 整體結構很清晰,是乙個樹狀結構。1 關於coreengine 伺服器端返回的資料到達net層,net層通過delegate協議傳回到coreengine,即coreengine實現net層的de...
幾種CPU架構
cpu架構 architecture 結構 架構,這個詞用於 cpu 的時候是指 cpu 接受和處理訊號的方式 及其內部元件的組織方式。cpu架構 從大的層面分兩類 cisc risc x86 cisc就是複雜指令集計算機,目前專指 x86 和 x86 64 兩類 其中 x86 又叫 ia32,即 ...