自學C day02 編譯四步驟

2021-10-13 13:07:08 字數 888 閱讀 4447

預處理(-e)–》 編譯(-s)–》 彙編(-c)—》 鏈結(無引數)

hello.c --> hello.i --> hello.s --> hello.o --> hello.exe

預處理的作用是展開標頭檔案,不檢驗語法錯誤,不會報錯,可以展開任意檔案(思考1:能不能鑽空子,讓他展開惡意檔案?);巨集定義替換(將巨集名替換成巨集值·)、注釋替換(注釋全部替換成空行)、展開條件編譯(根據條件來展開成指令)。

gcc -e ***.c -o ***.i

編譯過程中,會逐行檢查語法錯誤【重點】,並將c程式翻譯成彙編指令。它是四個步驟中最耗時的步驟,最後得到.s的彙編檔案。

gcc -s hello.i -o hello.s

將彙編指令翻譯成對應的二進位制編碼(目標檔案),以十六進製制表示(這就是乙個固定的翻譯工作)。

gcc -c hello.s -o hello.o

就是把目標檔案生成可執行檔案;

他主要做的工作是資料段的合併、資料位址的回填和庫的引入。

中間可以跳步執行(表面上看是跳步了,實際執行的時候依舊是乙個乙個生成的)。

gcc -e hello.c -o hello.i:對hello。c的原始檔進行預處理,生成hello.i預處理檔案;

gcc -s hello.i -o hello.s:生成hello.s彙編檔案;

gcc -c hello.s -o hello.o:生成目標檔案hello.o;

gcc hello.o - o h2.exe:生成叫h2.exe的可執行檔案。

-o是用來重新命名的,鏈結無引數要小心。

1、預處理 -e ***.i 預處理檔案

2、編譯 -s ***.s 彙編檔案

3、彙編 -c ***.o 目標檔案

4、鏈結 無 ***.exe 可執行檔案

工薪族創業四步驟

工薪族創業四步驟 工薪族進入其它象限的四個誤區 盲目辭職 沒有經濟基礎,注定失敗。坐以待斃。你所從事的行業已經開始走下坡路了,你還在那兒高枕無憂,等死。明明在那兒乙個月只有貳 叄佰元的收入,都難以維持正常的生活支出,卻還在那兒等靠。盲目投資。今天很多人在賠錢,原因是盲目投資。他幻想著一步到位,而不經...

四步驟搞定專屬PE系統

如果你是pe高手,當然可以自己製作winpe新番茄花園 系統,但大多數系統愛好者不具備這樣的能力,因此我們完全可以借助網上優秀的winpe資源進行整合,打造屬於自己的winpe系統。系統吧小編就以通用pe工具箱3.3為例進行講解。一 將winpe安裝至u盤 通用pe工具箱3.3有較為完善的安裝嚮導,...

MFC自定義訊息四步驟

1 定義訊息變數 2 新增訊息對映 3 新增訊息處理函式 4 實現訊息處理函式 以socket的accept例 1 定義訊息變數 在stdafx.h裡 define wm user accept wm user 101 2 新增訊息對映 begin message map csocketview,c...