編譯連線的整個過程和詳細的每個過程

2021-07-24 08:51:21 字數 455 閱讀 9169

編譯分為幾個階段組成:

1.預處理器處理--預編譯

在這個階段,預處理器在源**上執行一些文字操作。如:#define #include 和清除注釋的操作

包括(1)去注釋 (2)巨集替換 (3)標頭檔案展開 (4)條件編譯

2.編譯:c語言—彙編

3.彙編:彙編—二進位制

4.鏈結

源**經過解析,判斷它的語句的意思。這個階段絕大多數的錯誤和警告。

然後就產生目標**

在linux系統中

1.預處理

gcc -e test.c -o test.i

2.c語言—彙編

gcc -s test.i -o test.s

3.彙編

gcc -c test.s -o test.o

4.鏈結

gcc test.o -o mytest

C語言 編譯鏈結的整個過程和詳細的每個過程

c語言的編譯鏈結過程要把我們編寫的乙個c程式 源 轉換成可以在硬體上執行的程式 可執行 需要進行編譯和鏈結。編譯就是把文字形式源 翻譯為機器語言形式的目標檔案的過程。鏈結 是把目標檔案 作業系統 的啟動 和用到的庫檔案進行組織,形成最終生成可執行 的過程。編譯過程又可以分成兩個階段 編譯和彙編。編譯...

編譯鏈結的整個過程

預編譯1 將所有的 define刪除,並展開所有的巨集定義 2 處理所有的預編譯指令,例如 if,elif,else,endif 3 處理 include預編譯指令,將被包含的檔案插入到預編譯指令的位置 4 新增行號資訊檔名資訊,便於除錯 5 刪除所有的注釋 6 保留所有的 pragma編譯指令,因...

編譯的整個過程 預編譯 編譯 彙編 鏈結

編譯分為四個步驟 每個步驟將檔案編譯成別的格式,如下 步驟未編譯 預編譯編譯 彙編鏈結 檔案fun.h fun.cpp test.cpp fun.i test.i fun.s test.s fun.o test.o projectname.exe 詳解 1.預編譯 預編譯過程主要做4件事 展開標頭檔...