gcc是有gnu開發的程式語言編譯器。
使用gcc編譯器,目的大多都是將源**編譯成可執行檔案。
但是在這看似簡單的一步,實則經過了預處理(preprocessing)
編譯(compilation)、彙編(assembly)和鏈結(linking)四個步驟;
步驟命令引數:
預處理:-e
編譯:-s
彙編:-c
1、預處理:將源**中包含標頭檔案、巨集定義語句展開分析,整合一套新的**檔案輸出到
字尾為「.i」的檔案中,作為下一步的編譯的入力檔案。
命令:gcc -e file.c -o file.i
2、編譯:將預處理生成的.i檔案編成字尾為「.s」的彙編檔案。
命令:gcc -s file.i -o hello.s
3、彙編:將編譯生成的.s彙編檔案,翻譯成機器規定的機器**,字尾為.o的檔案。
命令:gcc -c file.s -o file.o
平台執行的可執行檔案。
命令:gcc file.o -o file
gcc編譯器主要實現上面四個步驟,生成最終的可執行檔案;
當不需要這些單步執行的時候,可以直接使用gcc命令,一步生成可執行檔案;
命令:gcc file.c -o file //生成可執行檔案file
gcc file.c //生成可執行檔案a.out
注意:當使用gcc命令時。可在命令後邊加上- wall引數,可以顯示所有警告資訊。
gcc編譯基本用法
gcc的基本用法 命令格式 gcc 選項 檔名 編譯的四個階段 e 僅執行編譯預處理 c 僅執行編譯操作,不進行連線操作 s 將c 轉換為彙編 o 指定生成的輸出檔案。c是使用gnu彙編器將原始檔轉化為目標 之後就結束,在這種情況下,只呼叫了c編譯器 ccl 和彙編器 as 而聯結器 ld 並沒有被...
gcc簡介及編譯過程
1 編譯器 gcc 簡介 linux系統下的 gcc gnu c compiler 是gnu推出的功能強大 效能優越的多 平台編譯器,它是gnu的代表作品之一,gcc是可以在多種硬體平台上編譯出可 執行檔案的超級編譯器,其執行效率比一般的編譯器要高出20 30 編譯器能 將c c 語言源程式 組合語...
GCC 的編譯過程及編譯工具
nasm的安裝與使用 總結本文講解了gcc的編譯過程,預處理 編譯 彙編和連線。還有編譯工具nasm的使用。include intmain void 預處理語句 gcc e hello.c o hello.ihello.i檔案內容 gcc s hello.i o hello.shello.s檔案內容...