gcc first.C -o first
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計制作的公司,為廣大用戶提供了成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,廣告投放,成都做網(wǎng)站選創(chuàng)新互聯(lián)公司,貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
說明:
1編譯當(dāng)前目錄下、名字叫做first.C的c源文件;
2在當(dāng)前目錄下、生成名字叫first(這個名字可以自己隨便寫、符合linux命名規(guī)則就行)的可執(zhí)行程序;
關(guān)于運(yùn)行:
用ls -l 命令,可以看到當(dāng)前目錄下有一個綠色的文件、名字叫first,就是剛剛編譯得到的文件;
使用命令“./first”既可運(yùn)行(無雙引號、雙引號是用來說明的);
不懂再問~
我不太明白你說的是什么意思,Linux下的C編程一般是通過gcc實(shí)現(xiàn)的。
例如,創(chuàng)建了一個hello.c文本,在文本中寫入
#include stdio.h
int main(void)
{
printf(“hello world!!”);
return 0;
}
然后在終端輸入
$ gcc –o hello hello.c
$ /tmp/hello
注:hello.c文件放在/tmp目錄下,通過gcc -o hello hello.c命令生成一個hello文件,它是一個可執(zhí)行文件,然后直接執(zhí)行,就可以運(yùn)行該程序了。
CC是Linux操作系統(tǒng)下一個非常重要的源代碼編譯工具,有著許多重要的選項(xiàng),支持許多不同語言的編譯,如C、C++、Ada、Fortran、Objective、Perl、Python、Ruby以及Java等,甚至Linux的許多內(nèi)核和許多其他自由軟件以及開放源碼應(yīng)用程序都是用C語言編寫并經(jīng)gcc編譯而成的.
1.編譯單個源文件
[例如]在屏幕上打印"Hello,Linux."
[源代碼]
#includestdio.h
#includestdlib.h
int main(int argc,char **argv)
{
printf("Hello,Linux.\n");
exit(0);
}
將源文件保存為hello.c,開始進(jìn)行編譯
$gcc -o hello hello.c
編譯成功完成后,在當(dāng)前路徑下,生成一個名為hello的文件,然后執(zhí)行
$./hello
在屏幕上,你將會看到打印結(jié)果:Hello,Linux.
說明:在默認(rèn)情況下,編譯成功完成后,會在當(dāng)前路徑下,生成一個名為a.out的文件,然后執(zhí)行$./a.out便可打印結(jié)果,但通??梢酝ㄟ^選項(xiàng)-o來指定自己的可執(zhí)行程序名稱;
2.編譯多個源文件
3.使用外部函數(shù)庫
4.使用共享函數(shù)庫和靜態(tài)函數(shù)庫
5.gcc選項(xiàng)詳細(xì)描述
1.7.2 gcc/egcs 的主要選項(xiàng)
表 1-3 gcc 命令的常用選項(xiàng)
選項(xiàng) 解釋
-ansi 只支持 ANSI 標(biāo)準(zhǔn)的 C 語法。這一選項(xiàng)將禁止 GNU C 的某些特色,
例如 asm 或 typeof 關(guān)鍵詞。
-c 只編譯并生成目標(biāo)文件。
-DMACRO 以字符串“1”定義 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定義 MACRO 宏。
-E 只運(yùn)行 C 預(yù)編譯器。
-g 生成調(diào)試信息。GNU 調(diào)試器可利用該信息。
-IDIRECTORY 指定額外的頭文件搜索路徑DIRECTORY。
-LDIRECTORY 指定額外的函數(shù)庫搜索路徑DIRECTORY。
-lLIBRARY 連接時搜索指定的函數(shù)庫LIBRARY。
-m486 針對 486 進(jìn)行代碼優(yōu)化。
-o FILE 生成指定的輸出文件。用在生成可執(zhí)行文件時。
-O0 不進(jìn)行優(yōu)化處理。
-O 或 -O1 優(yōu)化生成代碼。
-O2 進(jìn)一步優(yōu)化。
-O3 比 -O2 更進(jìn)一步優(yōu)化,包括 inline 函數(shù)。
-shared 生成共享目標(biāo)文件。通常用在建立共享庫時。
-static 禁止使用共享連接。
-UMACRO 取消對 MACRO 宏的定義。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。