欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1605|回復: 0
打印 上一主題 下一主題
收起左側

Linux應用編程之GCC編譯器及編譯過程

[復制鏈接]
跳轉到指定樓層
樓主
ID:1040469 發表于 2022-7-26 11:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

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點擊按鈕換成了對應的命令行罷了。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表