導航:首頁 > 源碼編譯 > c語言編譯的3個步驟

c語言編譯的3個步驟

發布時間:2022-03-30 21:09:59

⑴ C語言文件的編譯與執行的四個階段並分別描述

開發C程序有四個步驟:編輯、編譯、連接和運行。

任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。

1、預處理:導入源程序並保存(C文件)。

2、編譯:將源程序轉換為目標文件(Obj文件)。

3、鏈接:將目標文件生成為可執行文件(EXE文件)。

4、運行:執行,獲取運行結果的EXE文件。

(1)c語言編譯的3個步驟擴展閱讀:

將C語言代碼分為程序的幾個階段:

1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。

2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。

3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。

4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。

⑵ c語言上機編譯和運行的主要幾個步驟

主要是編譯運行

⑶ C語言編譯執行的全過程是怎樣的

預處理階斷:這個就是那些#include啥的。
編譯階斷:把C語言的代碼轉成匯編語言代碼,比如 int a = 2; 它會生成mov a, 2;
匯編階斷:把匯編代碼轉換成機器碼,比如把mov a , 2 ; 轉成 cd07 (mov指令的機器碼中的一種機器碼)
鏈接階斷:製作成一個可執行文件,比如windows是PE的可執行文件,linux是elf的可執行文件,要製作成可以運行的程序。

⑷ 高級語言的編譯過程,經過哪幾個步驟

開發C程序有四個步驟:編輯、編譯、連接和運行。

任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。

1、預處理:導入源程序並保存(C文件)。

2、編譯:將源程序轉換為目標文件(Obj文件)。

3、鏈接:將目標文件生成為可執行文件(EXE文件)。

4、運行:執行,獲取運行結果的EXE文件。

(4)c語言編譯的3個步驟擴展閱讀:

將C語言代碼分為程序的幾個階段:

1、首先,對源代碼文件進行測試。以及相關的頭文件,比如Stdio。H.CPP預處理為。我的文件。預編譯。該文件不包含任何宏定義,因為所有宏都已展開,且包含的文件已插入。我提起。

2、編譯過程是對預處理後的文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程通常是整個程序的核心部分,也是最復雜的過程之一。

3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可運行的可執行程序。也就是說,您需要鏈接到大量文件以獲得最終可執行文件「a.out」。

4、在鏈接過程中,其他目標文件中定義的函數調用指令需要重新調整,而其他目標文件中定義的變數也存在同樣的問題。

⑸ C語言程序開發的四個步驟是什麼

1 寫代碼。這是最基礎的一步,即實現C語言的源文件(.c,必需),和可能的頭文件(.h,非必需)。

2 編譯。將編寫好的代碼,通過編譯工具,轉換為目標文件。此步中,會對文件內部及包含的頭文件進行語法語義的分析檢查。如果出錯,則必須返回到1步對代碼進行修改,直到沒有錯誤為止。

3 鏈接。將目標文件鏈接成可執行文件。此步會對文件直接的關聯進行檢查。如果出錯需要返回到1修改代碼。直到沒有錯誤。

4 運行。這個是最後一步,也是C語言的最終目的。
在運行結果與期望不符時,需要檢查原因,修改代碼,重新執行1,2,3直到程序沒有問題。

⑹ c語言使用宏3個步驟是什麼

c語言使用宏3個步驟是:
1)寫出這個宏的定義,比如
#define ADD(a,b) ((a)+(b))
2)在代碼中應用這個宏,例如
xx=ADD(3+4,5)*ADD(0,7)
3)預編譯時系統自動展開宏,例如上述宏展開後的結果是
xx=((3+4)+(5))*((0)+(7))

⑺ C語言源程序到運行程序經過哪幾個步驟

1、預處理

在這一階段,源碼中的所有預處理語句得到處理,例如:#include語句所包含的文件內容替換掉語句本身,所有已定義的宏被展開。

根據#ifdef,#if等語句的條件是否成立取捨相應的部分,預處理之後源碼中不再包含任何預處理語句。

GCC預處理階段可以生成.i的文件,通過選項-E可以使編譯器在預處理結束時就停止編譯。例如:gcc -E -o hello.i hello.c

2、編譯

這一階段,編譯器對源碼進行詞法分析、語法分析、優化等操作,最後生成匯編代碼。這是整個過程中最重要的一步,因此也常把整個過程稱為編譯。

可以通過選項-S使GCC在進行完編譯後停止,生成.s的匯編程序。例如:gcc -S -o hello.s hello.c

3、匯編

這一階段使用匯編器對匯編代碼進行處理,生成機器語言代碼,保存在後綴為.o的目標文件中。

當程序由多個代碼文件構成時,每個文件都要先完成匯編工作,生成.o目標文件後,才能進入下一步的鏈接工作。

目標文件已經是最終程序的某一部分了,只是在鏈接之前還不能執行。可以通過-c選項生成目標文件:gcc -c -o hello.o hello.c

4、鏈接

經過匯編以後的機器代碼還不能直接運行。為了使操作系統能夠正確載入可執行文件,文件中必須包含固定格式的信息頭,還必須與系統提供的啟動代碼鏈接起來才能正常運行,這些工作都是由鏈接器來完成的。gcc -o hello hello.c

5、運行:執行.EXE文件,得到運行結果。

⑻ 編寫一個c語言程序直到運行,經過幾個步驟每一步生成的文件類型是什麼類型

首先建立源代碼(生成.c或者.cpp文件),然後編譯(生成.o文件),最後鏈接(生成可執行文件,windows下是.exe文件。)
舉個例子:
lizi.cpp(編寫代碼文件)
lizi.o(編譯後生成文件)
lizi.exe(鏈接後生成可執行文件)

現在大多數人都用可視化的編寫軟體,從源程序到可執行文件的中間過程肯定看不到的

閱讀全文

與c語言編譯的3個步驟相關的資料

熱點內容
游戲不同的伺服器有什麼區別 瀏覽:68
jar線上編譯 瀏覽:115
程序員論壇代碼被懟 瀏覽:996
win7文件夾選項注冊表 瀏覽:786
中央編譯局常艷博士照片 瀏覽:304
濡沫江湖安卓怎麼下載 瀏覽:954
陝西省電信dns伺服器雲伺服器 瀏覽:826
美輯編譯多長時間潤色好 瀏覽:466
伺服器心跳地址是什麼 瀏覽:981
編譯原理與區別 瀏覽:978
安利微購app怎麼樣 瀏覽:931
ios程序員適合什麼鍵盤 瀏覽:722
如何把加密pdf轉換成excel 瀏覽:623
文件夾7z如何壓縮成rar 瀏覽:870
android藍牙低功耗 瀏覽:277
如何下載好大夫app 瀏覽:966
linux查看txt 瀏覽:155
linux硬碟格式化命令 瀏覽:521
神舞幻想存檔放哪個文件夾 瀏覽:653
怎樣把pdf轉為圖片 瀏覽:338