在UNIX 或類UNIX(Ubuntu, Linux, FreeBSD等)系統中撰寫C程式,
是一件很容易的事,因為UNIX系統就是使用C語言製作的,
所以,C語言是Linux或類Unix系統下,是基本的工具程式。
- 登入(Login)後,才能開始我們今天的C程式。
左上角的選單裡尋找 「 終端機(Terminal)模式 」。
- 建立一個/c 的目錄,並切換工作位置到此目錄下。
建立c的目錄,是為了將所有我們寫作的C程式存放在裡面,
而不會和其他的檔案散亂分佈在登入目錄之下,
如果之後要作備份,也比較容易和方便。
C10X@Ubuntu >mkdir
c
建立一個 c 的目錄
C10X@Ubuntu >cd c
切換工作位置到 /c 下
- 開啟 gedit 編輯器,編輯今天要做的程式檔案.
其實,各程式語言的程式檔,都是文字檔.
我們只需要使用能編輯純文字檔的軟體,基本上都可以來寫程式。
早期,會要求同學使用所有Linux內建的vi
編輯器,或joe這類的軟體,
因為許多同學仍習慣使用視窗介面的編輯軟體,所以老師這邊介紹gedit 給同學,
是否跟記事本很像呢!而且功能很強,有支援關鍵字變色的功能。
輸入Dennis Ritchie在他的著作C程式設計經典範例(Hello
World的反思):
#include
<stdio.h>
main()
{
printf("Hello World!");
}
- 執行編譯 gcc myfirstc.c
gcc為C語言的編譯器,
[語法]: gcc -參數 filename
(詳細說明請輸入 man gcc)
直接在Ubuntu系統下,執行gcc指令即可編譯程式.
C10X@Ubuntu /c>gcc
myfirstc.c
C10X@Ubuntu /c>
C10X@Ubuntu /c>ls
a.out
myfirstc.c
會產生一個a.out的執行檔,
在Linux下,編譯出來的c執行檔的是
a.out
執行一下,請打./a.out(
./
的意思是,請電腦到目前目錄下找)
C10X@Ubuntu /c>./a.out
Hello World!C10X@Ubuntu
/c>
上面是程式的輸出,但是否有點怪怪的!因為命令提示緊接著在輸出結果之後的關係。
讓我們加上換行符號"\n"。
請修改程式內容如下,且重新編譯一次試試,看結果如何!
#include
<stdio.h>
main()
{
printf("Hello World!\n");
}
※參考:gcc 編譯參數格式
gcc [option] filename
[option 參數功能]
-c : 只做編譯(不做連結)
-S : 輸出組譯碼
-E : 將預處理結果顯示
-o filename : 指定輸出檔名
-ansi : 程式要求依據ANSI C標準
-Dmacro : 使定義巨集(marco)為有效
-Dmarco=defn : 使定義巨集(marco)為defn
-Wa,option : 將選項(option)傳給組譯器
-wl,option : 將選項(option)傳給連結器
-I : 追加include檔案的搜尋路徑
-L : 追加library檔案的搜尋路徑
-l : 指定連結的函式庫
-Wall : 顯示所有的警告訊息
-g : 編入除錯資訊(欲使用GDB除錯必加)
-O2 : 做最佳化
|