原文: http://www.cnblogs.com/zhangShanGui/p/4912135.htmlhtml
C語言的編譯通常有三個步驟:函數
gcc -E -o a.e a.cpost
預編譯a.c文件,生成的目標文件名爲a.eui
預編譯就是將include包含的頭文件內容替換到C文件中,同時刪除代碼中沒用的註釋url
示例:spa
//main.c翻譯
#include <stdio.h>htm
#include "sum.h"blog
int main(){ci
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 | 指定輸出文件file |
C語言的include頭文件
頭文件的注意事項: