欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
Linux應用編程之GCC編譯器及編譯過程
[打印本頁]
作者:
XYDDD
時間:
2022-7-26 11:25
標題:
Linux應用編程之GCC編譯器及編譯過程
1GCC編譯器簡介
GCC編譯器(GNU C Compiler)是GNU開發的一款多平臺編譯器,根據名字GCC是一款編譯C程序的編譯器。但隨著該編譯器的擴展逐漸支持多平臺、多語言的編譯套件(GUN Compiler Colloction )。
2什么是編譯器
編譯器并不是什么高級的東西,僅僅只是一個根據相應平臺要求把用戶所編寫的代碼刪除、修改、翻譯等等處理后生成對應的可執行文件的一種軟件程序,其本質也是屬于軟件,所以大家可以把編譯器看成一個翻譯軟件。
3交叉編譯器
在嵌入式Linux開發過程中,比如我們開發ARM平臺上的運行程序,一般會在windows平臺上進行代碼的編譯并生成對應的可執行文件燒錄到對應的平臺中運行,然而這個時候使用編譯器就是交叉編譯器。
4為何需使用交叉編譯
嵌入式相比計算機最大的區別個人覺得在于資源分配上,相對而言嵌入式平臺的運行速度、內存大小等等都比計算機平臺小很多,既然編譯器也是軟件那就需要占用一定的資源,隨著編譯器的擴展需要的硬件平臺要求也提高了,所以一般的嵌入式平臺難以滿足編譯要求,不過對于資源豐富,性能強勁的平臺當然另當別論了。
所以為了滿足在PC上就可以開發嵌入式軟件就有了前面所提到的交叉編譯環境,編譯器可以通過被指定所要運行的目標平臺來對相應程序進行編譯生成目標平臺的可執行文件,當然此時所生成的可執行文件不可在當前環境下運行。
5編譯的基本流程
既然學習Linux應用編程,那么必定需要將平時所編寫的程序通過編譯器最終生成可執行文件,下面大致看看GCC如何編譯程序的:
編譯過程解析
1)預處理階段:主要對源文件進行文件包含和預處理語句的分析處理;
2)編譯階段:把預處理完的.i文件進行一系列詞法分析、語法分析、語義分析以及優化后生成相應的匯編代碼文件;
3)匯編階段:使用匯編器將匯編代碼轉換成機器可以執行的指令并生成.o文件;
4)鏈接階段:使用鏈接器把所有的目標文件和庫文件鏈接起來放在合適的位置生成.out可執行文件。
6簡單體驗一下GCC
下面小哥就簡單的在ubuntu下面寫了一個.c程序并使用gcc編譯運行,其實與我們平時在windows環境中編譯運行類似,僅僅只是把windows點擊按鈕換成了對應的命令行罷了。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1