當前位置:編程學習大全網 - 網站源碼 - LINUX交叉編譯器工具鏈和GCC有什麽關系?

LINUX交叉編譯器工具鏈和GCC有什麽關系?

壹般最簡化的編譯器工具鏈是Binutils+GCC+Glibc+kernel-header組合的環境。

GCC是壹個編譯器,它的輸出壹次只能有壹個架構的指令輸出。如果妳想要壹個以上的模式輸出,妳必須安裝壹個以上的GCC,所以在編譯器工具鏈中會有壹個GCC。

交叉編譯是跨架構編譯,編譯後的程序不能在本地執行(當然也有例外)。所以這個時候就需要交叉編譯工具鏈了。

工具鏈光靠GCC是不夠的。它還需要壹個binutils的二進制連接器和壹個最基本的目標架構的C庫。C庫也需要壹個目標架構的內核源代碼才能完全工作(當然不是必須的,但是編譯有時候是必須的)。

因為GCC和binutils不能同時實現單個軟件和多個架構的輸出,所以需要分開安裝。另外,C庫和內核頭文件需要目標架構的東西,不能使用本地架構的數據。

所以壹個交叉編譯工具鏈就是為目標架構準備的binutils+gcc+glibc+kernel-header的集合。

PS:這個kernel-header不壹定是Linux,也可以是其他系統核心開發庫,比如FreeBSD。

  • 上一篇:河南高考區號
  • 下一篇:逆戰怎麽刷nz點和武器 逆戰刷nz點和武器方法
  • copyright 2024編程學習大全網