iOS開發 CPU架構記錄

2021-10-03 06:04:26 字數 2930 閱讀 1295

error

cpu架構是cpu廠商給屬於同一系列的cpu產品定的乙個規範,主要目的是為了區分不同型別cpu的重要標示。

arm公司:arm架構

intel公司:intelx86系列架構

amd公司:amdx86系列架構

電腦: 一般是x86 / x64

手機: 一般是arm(微處理器,功耗低,體積小)

32位:intelx86系列 /armarmv7 armv7s系列

64位:intelx64系列 /armarm64系列

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位

armv7armv7s屬於32位架構,armv7s在打包時,是「包含」armv7的,所以打包靜態庫時,選擇了armv7armv7s兩個架構,只會編譯出armv7s架構的.a庫

architectures指定工程被編譯成可支援哪些指令集型別,這是乙個總集,一般standard architectures就包含所有需要的指令集型別

build active acrhitecture only表示是否只編譯正在執行裝置匹配的指令集,例如如果iphone 5s,則只會編譯arm64架構

valid architectures表示有效的的指令集型別,這相當乙個子集

最終編譯出來的架構型別是architecturesvalid 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,即 ...