歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Linux之gcc的一些常見用法

1.gcc編譯器對程序的編譯,分為四個階段:

1>預編譯(pre-processing):在預處理階段,輸入的是C語言的源文件,通常為*.c。它們一般帶有*.h之類的頭文件。這個階段主要處理源文件中的#ifdef,#include,#define預處理命令。該階段會生成一個中間文件*.i文件。

這個階段使用命令:

    gcc –E  tiger.c –o  tiger.i

它通過對源文件tiger.c使用-E選項來生成中間文件tiger.i

2>編譯和優化(compiling):在編譯階段,輸入的是中間文件*i,編譯後生成匯編文件*.s

這個階段使用命令:

    gcc –S  tiger.i –o tiger.s

3>匯編(assembing):在匯編階段,將輸入的匯編文件*.s轉換成二進制機器代碼*.o.

這個階段使用命令:

    gcc -c tiger.s  –o  tiger.o

4>鏈接(linking):最後在鏈接階段將輸入的二進制機器代碼文件*.o,www.linuxidc.com匯集成一個可執行的二進制代碼文件。

這個階段使用命令:

    gcc  tiger.o   -o tiger

注:

以上所有階段,可以直接使用gcc  -o tiger  tiger.c,直接生成可執行文件。

    gcc -o tiger  tiger.c(也可以使用gcc  tiger.c  -o tiger)  

Copyright © Linux教程網 All Rights Reserved