C語言的編譯一般有三個步驟:
gcc -E -o a.e a.c
預編譯a.c文件,生成的目標文件名為a.e
預編譯就是將include包含的頭文件內容替換到C文件中,同時刪除代碼中沒用的注釋
示例:
//main.c
#include <stdio.h>
#include "sum.h"
int main(){
int m = 6;
int n = 5;
int result = sum(m,n); printf("hello\n%\n",result);
//sum.h
int sum(int x,int y);
運行之後結果為:
第一步就是這樣的啦!
2 . 編譯
gcc -S -o a.s a.e
將a.e翻譯成一個ASCII匯編語言文件a.s.
3 .鏈接
gcc -o a a.s
這行命令告訴gcc對源程序a.o進行鏈接,生成可執行程序a
gcc 沒有任何參數,表示就是鏈接
GCC編譯器的基本選項如下表:
類型 說明 -E 預處理後即停止,不進行編譯、匯編及連接 -S 編譯後即停止,不進行匯編及連接 -c 編譯或匯編源文件,但不進行連接 -o file 指定輸出文件fileC語言的include頭文件
頭文件的注意事項: