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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1477|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Linux應(yīng)用編程之GCC編譯器及編譯過程

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

1GCC編譯器簡介
    GCC編譯器(GNU C Compiler)是GNU開發(fā)的一款多平臺編譯器,根據(jù)名字GCC是一款編譯C程序的編譯器。但隨著該編譯器的擴展逐漸支持多平臺、多語言的編譯套件(GUN Compiler Colloction )。

2什么是編譯器
    編譯器并不是什么高級的東西,僅僅只是一個根據(jù)相應(yīng)平臺要求把用戶所編寫的代碼刪除、修改、翻譯等等處理后生成對應(yīng)的可執(zhí)行文件的一種軟件程序,其本質(zhì)也是屬于軟件,所以大家可以把編譯器看成一個翻譯軟件。

3交叉編譯器
    在嵌入式Linux開發(fā)過程中,比如我們開發(fā)ARM平臺上的運行程序,一般會在windows平臺上進行代碼的編譯并生成對應(yīng)的可執(zhí)行文件燒錄到對應(yīng)的平臺中運行,然而這個時候使用編譯器就是交叉編譯器。

4為何需使用交叉編譯
    嵌入式相比計算機最大的區(qū)別個人覺得在于資源分配上,相對而言嵌入式平臺的運行速度、內(nèi)存大小等等都比計算機平臺小很多,既然編譯器也是軟件那就需要占用一定的資源,隨著編譯器的擴展需要的硬件平臺要求也提高了,所以一般的嵌入式平臺難以滿足編譯要求,不過對于資源豐富,性能強勁的平臺當然另當別論了。

    所以為了滿足在PC上就可以開發(fā)嵌入式軟件就有了前面所提到的交叉編譯環(huán)境,編譯器可以通過被指定所要運行的目標平臺來對相應(yīng)程序進行編譯生成目標平臺的可執(zhí)行文件,當然此時所生成的可執(zhí)行文件不可在當前環(huán)境下運行。

5編譯的基本流程
    既然學習Linux應(yīng)用編程,那么必定需要將平時所編寫的程序通過編譯器最終生成可執(zhí)行文件,下面大致看看GCC如何編譯程序的:
編譯過程解析

1)預(yù)處理階段:主要對源文件進行文件包含和預(yù)處理語句的分析處理;
2)編譯階段:把預(yù)處理完的.i文件進行一系列詞法分析、語法分析、語義分析以及優(yōu)化后生成相應(yīng)的匯編代碼文件;
3)匯編階段:使用匯編器將匯編代碼轉(zhuǎn)換成機器可以執(zhí)行的指令并生成.o文件;
4)鏈接階段:使用鏈接器把所有的目標文件和庫文件鏈接起來放在合適的位置生成.out可執(zhí)行文件。

6簡單體驗一下GCC
    下面小哥就簡單的在ubuntu下面寫了一個.c程序并使用gcc編譯運行,其實與我們平時在windows環(huán)境中編譯運行類似,僅僅只是把windows點擊按鈕換成了對應(yīng)的命令行罷了。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区在线 | 99精品国自产在线观看 | 国产精品美女久久久久aⅴ国产馆 | 亚洲欧美日韩精品久久亚洲区 | 国产精品高潮呻吟 | 男女羞羞视频在线看 | 亚洲一区二区三区国产 | av中文天堂 | 成人免费影院 | 日本激情视频网 | 亚洲午夜在线 | 在线中文字幕亚洲 | 久久精品国产久精国产 | 男女下面一进一出网站 | 99re视频在线观看 | 黄页网址在线观看 | 不卡一区二区三区四区 | 欧美精品在欧美一区二区少妇 | 国产精品亚洲一区 | 国产精品视频一区二区三区 | 亚洲第1页| 亚洲成人黄色 | 超黄毛片 | 日韩中文字幕一区 | 午夜三区 | 97成人精品 | 在线观看黄色大片 | 日韩国产中文字幕 | 四虎影音| 嫩草伊人 | 成人亚洲一区 | 国产一级在线观看 | 国产精品久久久久久久久久久免费看 | 91精品久久久久久久久99蜜臂 | 狠狠爱网址 | av网站在线免费观看 | 日韩欧美在线观看 | 国产精品夜夜夜一区二区三区尤 | 在线播放一区二区三区 | 亚洲精品大全 | 亚洲国产精品一区二区三区 |