Ubuntu寫C - Linux

Oscar avatar
By Oscar
at 2011-09-08T17:18

Table of Contents

※ 引述《aurora9624 (我還太淺)》之銘言:
: 請問一下板上各位高手
: 小弟我現在用 Ubuntu 11.04的版本
: 最近要寫程式 看了一些文章到現在還是不太會....
: 我已安裝許多開發工具了
: "blocks IDE" "Geany" "IDLE" gcc也裝了
: 想問一下如果要簡單寫一個Hello world.c 的程式
: 如果我在終端機打上 vi的指令 是不是要先建立一個檔案
: 才能開始打上 #includ .... 之後再用 gcc的指令去做執行的動作??
: "blocks IDE" "Geany" "IDLE" 這3個工具 是不是也可以直接進去裡面寫C的語法??
: 還是說 有些微的不一樣?

以終端機寫程式來說:

1. vim test.c

如果 test.c 這個檔案存在,就會開啟舊檔,否則會自動建立新檔

2. 進入 vim 後,先按小寫 i 進入編輯模式

3. 鍵入程式碼,譬如

#include <stdio.h>
int main()
{
printf("Hello world\n");
return 0;
}

4. 打完之後,先按 ESC 鍵,再按 :wq 就可以存檔離開

5. 這個時候會回到終端機,輸入 gcc test.c 編譯程式

6. 如果沒有任何錯誤訊息,代表編譯完成,在終端機輸入 ./a.out 就可以執行程式
這個時候畫面應該會出現 Hello world 字樣

7. 雖然不是很重要,但執行程式後,再執行 echo $? 可以取得 main 的回傳值
這個例子裡面應該會顯示 0
你可以把 main 最後的 return 隨便改個數字,編譯執行再觀察 echo $? 的結果

--
Tags: Linux

All Comments

Thomas avatar
By Thomas
at 2011-09-10T00:57
大致上瞭解了~謝謝
Steve avatar
By Steve
at 2011-09-14T15:13
remeber to install "build-essentails"
Edwina avatar
By Edwina
at 2011-09-17T08:20
推VIM 可以改成IDE的介面 http://goo.gl/E5R1n

RE:SSD磁柱分配方式

Isabella avatar
By Isabella
at 2011-09-08T16:02
Device Boot Start End Blocks Id System /dev/sda1 * 2048 257039 127496 83 Linux /dev/sda2 ...

mount iso scripts 抓錯

Joe avatar
By Joe
at 2011-09-08T10:23
請前輩幫忙抓錯,有一個 bash mount iso script, 用 Run in Terminal 跑是正常的,可以創建目錄,也可以 mount。 但是用 Scripts -andgt; mount.sh 跑卻是不能創建目錄,也不會 mount。 系統是 debian 6, Gnome, 安裝了 ...

在fedoar14 /etc/modprobe.conf變成哪個檔案

Genevieve avatar
By Genevieve
at 2011-09-08T01:31
因為我的網卡還是一樣載入以前的r8169 我找不到/etc/modprobe.conf 只有/etc/modprobe.d/ 所以我不知到哪裡可以改開機網卡預設載入模組? 感謝! 可是我/etc/modprobe.d/ 只有 anaconda.conf blacklist-vis ...

在 Facebook 上面的 Ubuntu 正體中文社團

Jacky avatar
By Jacky
at 2011-09-07T23:14
如果對 Ubuntu 相關新聞訊息有興趣的朋友可以到這邊交流 http://www.facebook.com/groups/182288251826505/ - ...

xdmcp遠端桌面

Anthony avatar
By Anthony
at 2011-09-07T23:10
問題如標題 小弟我安裝ubuntu 9.04 64位元alternate版本 設定遠端桌面登入服務 編輯/etc/gdm/gdm.conf 修改[daemon]下的[RemoteGreeter],將前面的#拿掉 修改[xdmcp]下的[Enable=false]改成[Enable=true] 並重 ...