久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1606|回復: 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點擊按鈕換成了對應的命令行罷了。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美中文字幕一区二区三区亚洲 | 日韩在线不卡 | 久久精品免费一区二区三 | 国产精品久久久久久久久污网站 | 亚洲精品在线播放 | av影音资源| 91成人 | 四季久久免费一区二区三区四区 | 国产精品有限公司 | 欧美福利| 国产精品久久久久久久久图文区 | 精品美女视频在线观看免费软件 | 99爱在线免费观看 | 99资源| 久久亚洲高清 | 四虎影院在线免费观看 | 亚洲 欧美 日韩 在线 | 亚洲自拍偷拍视频 | 天天天天天天操 | se婷婷 | 久久se精品一区精品二区 | 福利一区在线观看 | 日韩免费在线观看视频 | 日日骚视频 | 日本一区不卡 | 午夜视频一区二区三区 | 日韩一区二区在线观看 | 亚洲欧美一区二区三区1000 | 日韩一区二区在线免费观看 | 精品国产乱码久久久久久1区2区 | 91精品久久久久久久久中文字幕 | 99久久久久久久 | 亚洲国产一区二区在线 | 国产精品日韩在线观看 | 99亚洲精品 | 国产在线播 | 天天拍天天操 | jlzzjlzz国产精品久久 | 国产精品九九 | 久久亚洲国产 | 日韩美女一区二区三区在线观看 |