C語言編譯器gcc命令如何操作步驟
C語言的應用範圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適於編寫系統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
Linux 系統中最重要的軟件開發工具是 gcc,在 Linux 系統中,c89、cc 和 gcc 這些命令基本上都指向系統的C語言編譯器,通常是GNU C編譯器,或都簡稱 gcc。在 UNIX 系統中,C 語言編譯器稱為 cc。實際上,gcc 能夠編譯三種語言:C、C++ 和 Object C(C 語言的一種面向對象擴展)。利用 gcc 命令可同時編譯並連接 C 和 C++ 源程序,一般來説,C 編譯器通過源文件的後綴名來判斷是 C 程序還是 C++ 程序。在 Linux 中,C 源文件的後綴名為 .c,而 C++ 源文件的後綴名為 .C 或 。對於 C++ 程序,gcc 命令只能編譯 C++ 源文件,而不能自動和 C++ 程序使用的庫連接。因此,通常可以使用 g++ 命令來完成 C++ 程序的編譯和連接,該程序會自動調用 gcc 實現編譯。本人一直都是在 Linux系統編譯 C程序的,就 gcc 命令行的作用記錄下來。
首先通過編寫、編譯和運行一個 HelloWorld 程序實例開始
一、源代碼
/* hello.c */
#include
#include
int main(void)
{
printf("Hello World!");
return 0;
}
二、 編譯、鏈接和運行程序
#gcc -o hello hello.c
#./hello
Hello World!
#
命令選項的'作用:
1. -o Place the output into
如:#gcc -o file file.c
-o 告訴編譯器將可執行程序放在何處,如果沒有指定文件名稱,編譯器則會把程序放在一個名為的文件裏(的含義是 assembler output,即彙編輸出)。
2. -c Compile and assemble, but do not link
如:#gcc -c file.c
-c 告訴編譯器僅把源代碼編譯為目標模塊(file.o)而跳過彙編和連接的步驟。在使用-c生成目標模塊後,就可以通過-o選項來生成可執行文件。如:#gcc -o file file1.o file2.o 可以是多個目標模塊。
3. -l和-L
指示編譯器程序要鏈接的庫。其中-L要增加庫的搜索路徑。如:動態庫放在/usr/cprimer目錄下,那就是 -L/user/cprimer
4. -O
如:#gcc file.c -O2,
用來優化程序用的。優化程序,執行速度可能也有所提高,從未真正測試過。
5. -include
-include 告訴編譯器需要包含頭文件,但一般情況下包含頭文件都在源碼裏用#include xxxxxx實現,一般很少用這個選項。
-
2017年3月計算機二級C語言考試摸底測試題
以下是yjbys考試網小編整理的2017年3月計算機二級C語言考試摸底測試題,希望對大家有所幫助,祝大家計算機二級考試順利通過。一、選擇題(每小題1分。)(1)程序流程圖中帶有箭頭的線段表示的是()。A.圖元關係B.數據流C.控制流D.調用關係(2)結構化程序設計的基本原則...
-
C語言if else語句彙總
對於很多情況,順序結構的代碼是遠遠不夠的,大家都接觸過C語言吧,下面是小編為大家整理的C語言ifelse語句,希望對大家有所幫助。C語言ifelse語句在C語言中,使用if和else關鍵字對條件進行判斷。請先看下面的代碼:#includeintmain(){intage;printf("請輸入你的年齡:");sc...
-
C語言精選面試題詳解
C語言是IT編程中最基礎的語言,在面試中,基本可以忽略又或者格外重要。下面是小編為大家整理的C語言精選面試題詳解,歡迎參考~分析這些面試題,本身包含很強的趣味性;而作為一名研發人員,通過對這些面試題的深入剖析則可進一步增強自身的內功。試題1:以下是引用片段:voi...
-
2017年計算機二級考試C語言備考題及答案
計算機二級對於很多考生來説還是比較有難度的,那麼怎樣順利通過二級考試呢?這就需要大家平時多練習和找方法了。以下是本站小編整理的2017年計算機二級考試C語言備考題及答案,希望對大家有幫助!1.(A)是構成C語言程序的基本單位。A、函數B、過程C、子程序D、子例...