chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用編譯器將預(yù)處理文件的編譯的命令是什么?

GReq_mcu168 ? 來源:玩轉(zhuǎn)單片機 ? 作者:玩轉(zhuǎn)單片機 ? 2020-06-24 11:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

如果你使用的是集成開發(fā)環(huán)境,那么你點擊編譯按鈕就可生成可執(zhí)行文件,然后點擊運行即可運行。那么,你知道從源代碼到可執(zhí)行文件經(jīng)歷了哪些過程嗎。僅僅是編譯?

下面以windows環(huán)境下的test.c為例,test.c里的代碼為:

#include 《stdio.h》 int main(void) { printf(“This is a test program! ”); return 0; }

其經(jīng)歷如下過程:

使用編譯器將預(yù)處理文件的編譯的命令是什么?

如圖,編譯生成可執(zhí)行文件的過程實際包含四個過程:(1)預(yù)處理;(2)編譯;(3)匯編;(4)鏈接。

預(yù)處理(Preprpcessing)

使用預(yù)處理器把源文件test.c經(jīng)過預(yù)處理生成test.i文件,預(yù)處理用于將所有的#include頭文件以及宏定義替換成其真正的內(nèi)容。

預(yù)處理的命令為:

gcc -E test.c -o test.i

上述命令中-E是讓編譯器在預(yù)處理之后就退出,不進行后續(xù)編譯過程;-o是指定輸出文件名。

預(yù)處理之后得到的仍然是文本文件。test.i文件部分內(nèi)容截圖如下:

使用編譯器將預(yù)處理文件的編譯的命令是什么?

編譯(Compilation)

使用編譯器將預(yù)處理文件test.i編譯成匯編文件test.s。

編譯的命令為:

gcc -S test.i -o test.s

上述命令中-S讓編譯器在編譯之后停止,不進行后續(xù)過程;-o是指定輸出文件名。匯編文件test.s是文本文件,部分內(nèi)容截圖如下:

使用編譯器將預(yù)處理文件的編譯的命令是什么?

匯編(Assemble)

使用匯編器將匯編文件test.s轉(zhuǎn)換成目標文件test.o。

匯編過程的命令為:

gcc -c test.s -o test.o

上述命令中-c、-o讓匯編器把匯編文件test.s轉(zhuǎn)換成目標文件test.o。目標文件test.o是二進制文件,部分內(nèi)容截圖如下:

使用編譯器將預(yù)處理文件的編譯的命令是什么?

鏈接(Linking)

鏈接過程使用鏈接器將該目標文件與其他目標文件、庫文件、啟動文件等鏈接起來生成可執(zhí)行文件。

鏈接過程的命令為:

gcc test.o -o test.exe

綜上,生成可執(zhí)行程序過程為:預(yù)處理、編譯、匯編、鏈接。各個命令如下圖所示:

使用編譯器將預(yù)處理文件的編譯的命令是什么?

責(zé)任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51884
  • 匯編器
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    11661
  • Test
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    27968
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    技術(shù)分享 | RK3506如何交叉編譯frp wireguard

    之前,我們需要搭建交叉編譯環(huán)境,需要將我司提供的交叉編譯器拷貝至ubuntu中并解壓,完成后如下圖所示:交叉編譯器是從buildroot上直接導(dǎo)出,工具的具體路徑
    的頭像 發(fā)表于 12-25 17:29 ?765次閱讀
    技術(shù)分享 | RK3506如何交叉<b class='flag-5'>編譯</b>frp wireguard

    性能突破 | SpacemiT-X60 在 LLVM 編譯器上實現(xiàn) 16% 顯著提升

    2025年10月,在北美RISC-V峰會上,Igalia編譯器工程師Mikhail發(fā)表專題演講《Unlocking15%MorePerformance
    的頭像 發(fā)表于 11-21 18:04 ?9078次閱讀
    性能突破 | SpacemiT-X60 在 LLVM <b class='flag-5'>編譯器</b>上實現(xiàn) 16% 顯著提升

    開源鴻蒙技術(shù)大會2025丨編譯器與編程語言分論壇:語言驅(qū)動系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    在萬物智聯(lián)的時代背景下,操作系統(tǒng)底層能力的構(gòu)建離不開編程語言與編譯器的關(guān)鍵支撐。作為開源鴻蒙生態(tài)的核心技術(shù),語言設(shè)計與編譯器、虛擬機實現(xiàn)的進步直接關(guān)系到開發(fā)效率、運行性能與系統(tǒng)安全。本次分論壇聚焦
    的頭像 發(fā)表于 11-20 17:24 ?1128次閱讀
    開源鴻蒙技術(shù)大會2025丨<b class='flag-5'>編譯器</b>與編程語言分論壇:語言驅(qū)動系統(tǒng)創(chuàng)新,<b class='flag-5'>編譯</b>賦能生態(tài)繁榮

    飛凌嵌入式ElfBoard-Vim編輯之GCC的基本使用

    /example/hello$ gcc hello.c1.GCC編譯過程GCC編譯器編譯過程要經(jīng)過預(yù)處理,編譯,匯編,鏈接等4步才能夠生成
    發(fā)表于 10-16 09:05

    飛凌嵌入式ElfBoard-Vim編輯之GCC編譯器的安裝

    GCC(GNU Compiler Collection)是由GNU開發(fā)的編程語言編譯器,最初是作為GNU操作系統(tǒng)的編譯器編寫的。GCC是一個編譯器套件,包含很多軟件包,支持多種語言編譯
    發(fā)表于 10-15 08:44

    GCC編譯器,怎么才能實現(xiàn)c文件中未被調(diào)用的函數(shù),不會被編譯呢?

    GCC編譯器,怎么才能實現(xiàn)c文件中未被調(diào)用的函數(shù),不會被編譯?有什么編譯選項可以設(shè)置嗎? 移植代碼,有些函數(shù)沒被調(diào)用的函數(shù)想留在代碼里,但不想被編譯
    發(fā)表于 09-28 12:25

    如何在Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6?

    在Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6!
    發(fā)表于 08-20 06:29

    邊緣設(shè)備AI部署:編譯器如何實現(xiàn)輕量化與高性能?

    電子發(fā)燒友網(wǎng)綜合報道 AI編譯器是專門為人工智能(AI)和機器學(xué)習(xí)(ML)模型設(shè)計的編譯器,其核心目標是高級的AI模型描述(如計算圖、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu))轉(zhuǎn)換為特定硬件平臺(如CPU、GPU、FPGA
    的頭像 發(fā)表于 07-06 05:49 ?6899次閱讀

    編譯器功能安全驗證的關(guān)鍵要素

    在汽車、工業(yè)、醫(yī)療等安全關(guān)鍵型應(yīng)用中,確保功能安全合規(guī)性需要嚴格的工具鏈驗證。開發(fā)安全關(guān)鍵型軟件的企業(yè)必須遵守ISO 26262、IEC 61508、ISO 62304等國際標準對編譯器工具鏈進行全面的驗證。
    的頭像 發(fā)表于 07-05 13:37 ?1684次閱讀

    兆松科技ZCC編譯器全面支持芯來科技NA系列處理器

    近日,兆松科技(武漢)有限公司(以下簡稱“兆松科技”)宣布正式發(fā)布高性能RISC-V編譯器ZCC 4.0.0版本。
    的頭像 發(fā)表于 06-11 09:56 ?1970次閱讀

    RISC-V架構(gòu)下的編譯器自動向量化

    進迭時空專注于研發(fā)基于RISC-V的高性能新AICPU,對于充分發(fā)揮CPU核的性能而言,編譯器是不可或缺的一環(huán),而在AI時代,毫無疑問向量算力發(fā)揮越來越重要的作用。進迭時空非常重視RISC-V
    的頭像 發(fā)表于 06-06 16:59 ?1416次閱讀
    RISC-V架構(gòu)下的<b class='flag-5'>編譯器</b>自動向量化

    不借助Linux系統(tǒng),在Windows下如何搭建ZMC900E交叉編譯環(huán)境

    嵌入式Linux系統(tǒng),由于系統(tǒng)資源的匱乏,通常無法安裝本地編譯器進行本地開發(fā),而需要在借助一臺主機進行交叉開發(fā)。一般情況下,在主機安裝相應(yīng)的交叉編譯器,將在主機編
    的頭像 發(fā)表于 05-21 11:34 ?1063次閱讀
    不借助Linux系統(tǒng),在Windows下如何搭建ZMC900E交叉<b class='flag-5'>編譯</b>環(huán)境

    RVCT編譯器是否比GNU的編譯器的代碼執(zhí)行速度更快?

    使用FX3S遇到了RVCT編譯器的問題。 1、在SDK的release note中有支持RVCT的描述, 但是在EZ USB Suite的設(shè)置中沒有找到RVCT的選項, 請問支持的具體版本
    發(fā)表于 05-08 07:49

    HighTec編譯器全面支持芯馳科技車規(guī)MCU芯片E3650

    近日,HighTec與芯馳科技共同宣布HighTec編譯器套件全面支持芯馳新一代旗艦智控MCU-E3650芯片。此次合作,進一步豐富了芯馳車芯產(chǎn)品的工具鏈生態(tài),雙方攜手為客戶提供高性能、高安全性的解決方案。
    的頭像 發(fā)表于 04-28 15:20 ?1955次閱讀

    迅為RK3568開發(fā)板內(nèi)核模塊實現(xiàn)-設(shè)置交叉編譯器

    1 下載網(wǎng)盤資料下的交叉編譯器,網(wǎng)盤路徑為:“iTOP-3568 開發(fā)板\\\\03_【iTOP-RK3568 開 發(fā)板】指南教程\\\\02_Linux 驅(qū)動配套資料\\\\03_交叉編譯器”,
    發(fā)表于 04-21 16:45