精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

C語言編譯過程

zzw_111_bit ? 2023-02-04 11:58 ? 次閱讀

以最簡單的c語言代碼為例,hello.c代碼如下:

#include
int main()
{
    printf("hello world!\\n");
    return 0;
}

1、預編譯

將.c中的頭文件展開、宏展開,生成的文件是.i文件。例如hello.c文件,生成過程是:

gcc -E hello.c -o hello.i

預處理的過程是將頭文件展開、替換,如果有宏,也會進行替換。這一步不進行語法檢查。

2、編譯

將預處理的.i文件生成.s的匯編文件。會進行語法檢查。

gcc -S hello.i -o hello.s

3、匯編

將.s匯編文件生成.o的目標文件。

gcc -c hello.s -o hello.o

4、鏈接

將.o文件鏈接成目標文件,也就是可執行程序

gcc hello.o -o hello

這一步中如果不加-o默認輸出的可執行程序時a.out。這四步是將整個編譯過程展開來看的,通常可以直接使用gcc hello.c,直接生成結果a.out。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7598

    瀏覽量

    136207
  • 匯編
    +關注

    關注

    2

    文章

    214

    瀏覽量

    25904
  • 源代碼
    +關注

    關注

    96

    文章

    2944

    瀏覽量

    66670
  • 編譯
    +關注

    關注

    0

    文章

    654

    瀏覽量

    32809
收藏 人收藏

    評論

    相關推薦

    C語言編譯過程

    C語言編譯鏈接過程要把我們編寫的一個C程序源代碼,轉換成可以在硬件上運行的程序(可執行代碼),需要進行
    發表于 06-25 10:36 ?396次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的<b class='flag-5'>編譯</b><b class='flag-5'>過程</b>

    C語言編譯鏈接過程

    ? C語言編譯鏈接過程要把我們編寫的一個C程序源代碼轉換成可以在硬件上運行的程序(可執行代碼),需要進行
    的頭像 發表于 08-21 10:06 ?2506次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的<b class='flag-5'>編譯</b>鏈接<b class='flag-5'>過程</b>

    嵌入式物聯網教程 4.01 C語言編譯過程 #嵌入式物聯網 #硬聲創作季

    物聯網編譯
    fly
    發布于 :2022年08月27日 17:06:31

    DSP C語言與主機C語言的主要區別

    。 2)DSP的C語言編譯過程為,C編譯為ASM,再由ASM
    發表于 11-03 15:14

    讓你快速學會DSP技術——DSP入門必備資料與常見問題解決

    ,如屏幕繪圖等。但在CCS中,為了方便調試,可以將數據通過printf命令虛擬輸出到主機的屏幕上。2)DSP的C語言編譯過程為:C
    發表于 10-15 15:37

    C語言編譯過程是怎樣的

    C語言C語言編譯過程,各過程作用預處理階段將源碼文件
    發表于 10-27 09:00

    C語言基礎與數據類型概述

    outputgcc -o 輸出的文件名 輸入文件名2.c語言編譯過程預處理cpp -o a.i 001.c替換【gcc -E】
    發表于 12-23 06:58

    DSP學習資料

    的擴展部分,如屏幕繪圖等。但在 CCS 中,為了方便調試,可以將數據通過 prinf 命令虛擬輸出到主機的屏幕上。2)DSP 的 C 語言編譯過程為,
    發表于 07-06 17:22

    詳細剖析C語言編譯過程

    編譯---->形成目標代碼,目標代碼是在目標機器上運行的代碼。 連接---->將目標代碼與C函數庫相連接,并將源程序所用的庫代碼與目標代碼合并,并形成最終可執行的二進制機器代碼(程序)。 執行----->在特定的機器環境下運行
    的頭像 發表于 02-08 17:02 ?5004次閱讀
    詳細剖析<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編譯</b><b class='flag-5'>過程</b>

    做DSP應該了解那些知識做DSP最應該懂得的57個問題介紹

    的屏幕上。2)DSP的C語言編譯過程為,C編譯為ASM,再由ASM
    發表于 01-09 08:00 ?11次下載
    做DSP應該了解那些知識做DSP最應該懂得的57個問題介紹

    做DSP最應該懂得那些問題十四個問題的詳細資料說明

    到主機的屏幕上。 2)DSP的C語言編譯過程為,C編譯為ASM,再由ASM
    發表于 05-24 14:50 ?6次下載
    做DSP最應該懂得那些問題十四個問題的詳細資料說明

    GCC編譯C語言程序的過程是怎么樣的

    使用GCC將C語言源代碼文件生成可執行文件的過程,需要經歷四個的步驟:預處理(Preprocessing)編譯(Compilation)匯編(Assembly)鏈接(Linking)
    的頭像 發表于 02-18 11:47 ?4035次閱讀

    解析C語言編譯過程中所做的工作

    C語言編譯鏈接過程要把我們編寫的一個C程序源代碼,轉換成可以在硬件上運行的程序(可執行代碼),需要進行
    的頭像 發表于 06-27 10:21 ?3125次閱讀
    解析<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編譯</b><b class='flag-5'>過程</b>中所做的工作

    嵌入式面試整理

    C語言C語言編譯過程,各過程作用預處理階段將源碼文件
    發表于 10-20 17:36 ?3次下載
    嵌入式面試整理

    為什么C語言要進行編譯

    為什么我們編寫的C語言要進行編譯?什么是編譯編譯時發生了什么? 機器無法理解我們編寫的C
    的頭像 發表于 11-24 15:47 ?1257次閱讀
    為什么<b class='flag-5'>C</b><b class='flag-5'>語言</b>要進行<b class='flag-5'>編譯</b>