什麼是交叉編譯?我的對交叉編譯的理解
關鍵詞:交叉編譯
【一句話歸納】:將源代碼在A平臺使用【某種編譯器】去編譯,使得生成的二進制文件能在B平臺執行,這種行爲叫作【交叉編譯】,很明顯的,【某種編譯器】叫作【交叉編譯器】。
【平臺】:是【硬件平臺】+【OS平臺】的總稱。例如arm的硬件平臺+linux_for_arm的操做系統,Intel_x86平臺的硬件平臺+windows_for_x86操做系統。
【A平臺】:通常指預先就存在的平臺,或者資源能力強大的平臺。例如x86的PC平臺。
【B平臺】:通常指還沒有存在的平臺,還在開發研究中,或者資源能力弱小的平臺。例如arm開發板。
【爲何要交叉編譯】
1、一個項目最開始開發的時候,B平臺還未搭建好,有多是硬件還在設計中,也有多是OS還在移植中。因此爲了軟件和硬件同步開發,提升效率,可使用A平臺寫源代碼,而後使用交叉編譯,編譯出能在B平臺執行的二進制文件。
2、B平臺已經搭建好了,可是B平臺的資源or能力有限,好比arm開發板,CPU、內存很小,編譯大型工程速度很慢。因此爲了節約時間,提升效率,可使用A平臺寫源代碼,而後使用交叉編譯,編譯出能在B平臺執行的二進制文件。