日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言开发工具程序代码是什么文件,【C语言】开发工具--GCC使用入门

發布時間:2023/12/2 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言开发工具程序代码是什么文件,【C语言】开发工具--GCC使用入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來自: 51CTO? GCC使用入門

通常所說的GCC是GUN Compiler Collection的簡稱,除了編譯程序之外,它還含其他相關工具,所以它能把易于人類使用的高級語言編寫的源代碼構建成計算機能夠直接執行的二進制代碼。GCC是Linux平臺下最常用的編譯程序,它是Linux平臺編譯器的事實標準。同時,在Linux平臺下的嵌入式開發領域,GCC也是用得最普遍的一種編譯器。GCC之所以被廣泛采用,是因為它能支持各種不同的目標體系結構。例如,它既支持基于宿主的開發(簡單講就是要為某平臺編譯程序,就在該平臺上編譯),也支持交叉編譯(即在A平臺上編譯的程序是供平臺B使用的)。目前,GCC支持的體系結構有四十余種,常見的有X86系列、Arm、PowerPC等。同時,GCC還能運行在不同的操作系統上,如Linux、Solaris、Windows等。

·詳解GCC的下載和安裝

·Linux編程起步 GCC基本用法

除了上面講的之外,GCC除了支持C語言外,還支持多種其他語言,例如C++、Ada、Java、Objective-C、FORTRAN、Pascal等。

本系列文章中,我們不僅介紹GCC的基本功能,還涉及到一些諸如優化之類的高級功能。另外,我們還考察GCC的一些映像操作工具,如size和objcopy等,這將在后續的文章中加以介紹。

二、程序的編譯過程

對于GUN編譯器來說,程序的編譯要經歷預處理、編譯、匯編、連接四個階段,如下圖所示:

從功能上分,預處理、編譯、匯編是三個不同的階段,但GCC的實際操作上,它可以把這三個步驟合并為一個步驟來執行。下面我們以C語言為例來談一下不同階段的輸入和輸出情況。

在預處理階段,輸入的是C語言的源文件,通常為*.c。它們通常帶有.h之類頭文件的包含文件。這個階段主要處理源文件中的#ifdef、 #include和#define命令。該階段會生成一個中間文件*.i,但實際工作中通常不用專門生成這種文件,因為基本上用不到;若非要生成這種文件不可,可以利用下面的示例命令:

gcc -E test.c -o test.i

在編譯階段,輸入的是中間文件*.i,編譯后生成匯編語言文件*.s 。這個階段對應的GCC命令如下所示:

GCC -S test.i -o test.s

在匯編階段,將輸入的匯編文件*.s轉換成機器語言*.o。這個階段對應的GCC命令如下所示:

GCC -c test.s -o test.o

最后,在連接階段將輸入的機器代碼文件*.s(與其它的機器代碼文件和庫文件)匯集成一個可執行的二進制代碼文件。這一步驟,可以利用下面的示例命令完成:

GCC test.o -o test

上面介紹了GCC編譯過程的四個階段以及相應的命令。下面我們進一步介紹常用的GCC的模式。

三、GCC常用模式

這里介紹GCC追常用的兩種模式:編譯模式和編譯連接模式。下面以一個例子來說明各種模式的使用方法。為簡單起見,假設我們全部的源代碼都在一個文件test.c中,要想把這個源文件直接編譯成可執行程序,可以使用以下命令:

$ GCC -o test

這里test.c是源文件,生成的可執行代碼存放在一個名為test 的文件中(該文件是機器代碼并且可執行)。-o 是生成可執行文件的輸出選項。如果我們只想讓源文件生成目標文件(給文件雖然也是機器代碼但不可執行),可以使用標記-c ,詳細命令如下所示:

$ GCC -c test.c

默認情況下,生成的目標文件被命名為test.o,但我們也可以為輸出文件指定名稱,如下所示:

$ GCC -c test.c -o

上面這條命令將編譯后的目標文件命名為mytest.o,而不是默認的test.o。

迄今為止,我們談論的程序僅涉及到一個源文件;現實中,一個程序的源代碼通常包含在多個源文件之中,這該怎么辦?沒關系,即使這樣,用GCC處理起來也并不復雜,見下例:

$ GCC -o test first.c second.c third.c

該命令將同時編譯三個源文件,即first.c、second.c和 third.c,然后將它們連接成一個可執行程序,名為test。

總結

以上是生活随笔為你收集整理的c语言开发工具程序代码是什么文件,【C语言】开发工具--GCC使用入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。