又到了開學季,在台大唸碩士班的兩年中,我擔任了「計算機程式設計」的助教工作(詳情可以從「好人助教傳1」開始閱讀 XD),這門課剛開始總要教大家學習著使用編譯器(Compiler)或是整合式開發環境(IDE),今天剛好想到可以整理一下過去寫過的文章,然後推出新的版本!
本文參考自:這裡。(其實作者也是我 XD)歡迎轉錄,但請務必註明出處及作者 🙂
在這篇文章裡,我只打算介紹 Windows 及 Mac 環境下的 how-to,因為我相信會用 Linux/Unix-like 系統的人應該對 compile 這件事不會不熟悉吧!(其實只是筆者偷懶,手邊又剛好沒有 Linux 的系統 orz)
如果你使用 Windows
這裡我將介紹三種方法:連到工作站、使用 Dev-C++及使用 Microsoft Visual C++ 2005 Express Edition。
- 到工作站上寫程式並編譯執行:
如果你有一個 Unix-like 的工作站可以使用,那你或許可以考慮使用 PieTTY 來連線到工作站上寫程式,以下是簡單的步驟:
- 連上工作站後:
先確定工作站上有沒有安裝 gcc 這個程式, gcc 是一個廣為大家所使用的 C/C++ 編譯器(新的版本甚至可以說是 GNU 編譯器的集合),你可以直接輸入 gcc -v 來看一下是否可以執行,並且確定你使用的版本。
- 用文字編譯器撰寫程式碼:
上圖是使用 joe 這個文字編輯器開啟一個名為 test.c 的檔案,除了 joe 以外,你當然可以選擇你喜愛的文字編輯器(如:vim)。
打好你的程式碼之後,你可以在 joe 裡按下 CTRL+k 來叫出選單,選單中的 ^ 符號就是代表鍵盤上的 CTRL 鍵。
- 編譯(compile)程式:
結束編輯後,你就可以使用 gcc 來把這個程式碼編譯成執行檔了,方法很簡單,就是在命令列下輸入: gcc < 你的程式碼檔名> 即可,如圖所示:
如果你的程式碼有錯誤(比方說 printf 打成 prinf ),當 gcc 在編譯你的程式時就會抱怨,有圖有真相:
- 執行程式:
當 gcc 沒有抱怨時,表示你已經成功地將程式碼編譯成可以執行的程式,而 gcc 預設產生的執行檔名稱叫作 a.out ,在同一個目錄下要執行它,就在命令列中輸入: ./a.out 就可以執行了!
如果你不喜歡 a.out 這個執行檔名,那就在使用 gcc 的時候,加入一個 -o 的選項,後面再接希望輸出的名稱即可。如: gcc test.c -o test ,這樣產生的執行檔就會名為 test 而不是 a.out 了。
- 連上工作站後:
- 使用 Dev-C++
Dev-C++是 Windows 作業系統下一個免費的 C/C++ 整合型開發環境,而且也有做了不錯的國際化,如果使用者願意也可以將功能表選單等等介面改成中文化的介面。而且它使用的 compiler 也是 gcc 這個 project (由 Mingw 移植的 Windows 版本),所以也值得為各位作個介紹。
- 下載 Dev-C++ 及安裝:
先到官方網站下載 Dev-C++,記得要下載 with MinGW/GCC 的版本。下載完後直接執行它就可以進行安裝了。
- 設定 Dev-C++:
執行 Dev-C++ 後,如果你是第一次執行,則它會一步步詢問你要怎麼設定整個環境,如果你以後還想更改像介面這類的設定,可以到 Tools -> Environment Options 裡作更改:
然後在 Interface 的分頁中選擇你想要更改的語言,以及更改你喜歡的選項:
- 建立專案及撰寫原始碼
設定完環境之後,就如同其它整合開發環境一下,我們得先建立一個專案來讓我們開發程式。從 檔案 -> 開新檔案… -> 專案 來建立
然後目前我們只需要建立 Console Application 的專案就可以寫作業了,不過要注意右下角的類型要改成 C 專案才不會讓 compiler 把你的程式碼當 C++ 在看唷!
建立好專案之後,Dev-C++ 就會幫我們產生一個 main.c 的原始碼檔案,裡面會幫我們加入一些程式碼,你可以依自己的需要增減
- 編譯及執行
寫好程式碼之後,最重要的就是要編譯它並且執行看結果,這種事情在整合式開發環境中一切是那樣地容易,只要利用工具列的快速按紐就可以搞定了。
編譯完後,你可以按工具列上的「執行」來執行程式。
- 下載 Dev-C++ 及安裝:
- 使用 Microsoft Visual C++ 2005 Express Edition
Visual C++ 2005 Express Edition 是微軟推出的免費 C/C++ 整合式開發環境,如果你不想「不合法」取得 Visual Studio 系列產品,那這個會是不錯的選擇(或者是已經被微軟產品慣壞的人….)
- 下載:
既然是免費下載,那就趕快到官方網站上下載來安裝吧!
- 開啟並建立專案:
我們必須先開啟一個專案來管理即將要開發的程式,打開後執行 檔案 -> 新增 -> 專案,然後建立一個 Win32 主控台應用程式,並且輸入名稱,如圖所示:
確定之後,會出現一個精靈對話盒,如果你不清楚要作什麼的話,那就到設定頁,然後選擇「空專案」,如下圖所示:
- 加入程式碼檔案,並寫程式:
完成後,我們要加入一個程式碼檔案來撰寫程式,到 檔案 -> 新增 -> 檔案… 中新增一個 Visual C++ 的 C++ 檔
開啟檔案後,你就可以開始寫你的程式了:
- 編譯並執行:
存檔後,按下上方工具列的箭頭按鈕,便可以編譯並且執行了!
- 下載:
如果你使用 Mac OS X
在 Mac OS X 下,你必須先到 Apple Developer Connection 上下載 Xcode 這個程式(或者你的安裝光碟上有),你才能作編譯程式的工作。至於安裝 Xcode 之後,你要在終端機下像連上工作站一樣使用文字編輯器+ gcc 的方法也是可以,這裡只會介紹使用 Xcode 的整合式開發環境
- 打開 Xcode:
若無意外,你的 Xcode 應該都是安裝在 /Developer 目錄下,在 /Developer/Applications 下面有一個可以執行的 Xcode ,執行它便可以開啟整合式開發環境
- 建立新 Project
開啟之後,在選單列上選擇 File -> New Project… 來建立一個 project,然後 project type 選擇 Command Line Utility 下的
C++ ToolUPDATE: Standard Tool (感謝 yllan 指正),然後輸入 project 名稱及存放的位置後,按下 Finish。 - 寫程式及編譯執行
建立好專案後,Xcode 也會幫你產生一個 main.c 檔案,直接開啟它來編輯就可以了!
當你寫好程式碼之後,按下工具列上方的 Build and Go 就可以編譯並且執行了!
筆者很懶惰,沒有詳細介紹每一個開發環境強大的地方,也許哪一天有空再來介紹這些工具的 debugger 要如何使用吧!
學長,我轉去給我們T9學弟啦 😀
(當然有注明出處XD)
希望不會誤人子弟 XD
其實我還是很不解為什麼要教他們用joe
vi/vim明明就好用很多… 而且幾乎大家都是用這個吧@@
雖然我也覺得 vim 很好,但是對於初初初學的人來說,vim 還是有點不太直覺,除非是有人帶著學比較好。
應該選 Standard Tool 會比較好
btw, 之前留言沒成功,如果重複發言煩請代為刪除。
感謝 yllan,已更正。
Dev-C 看起來好像因為不明原因停止開發了,也許下次的教學該加上其它OpenSource的IDE來用?
doomleika: 感謝您的建議,如果有機會我會再試試別的 IDE 來作介紹 😀
Dev-C++ 會顯示執行結果嗎
例如…
hello,world
[quote comment=””]Dev-C++ 會顯示執行結果嗎
例如…
hello,world[/quote]
建議可以教教學生採用 Eclipse bundle gcc 來作 compiler…到時候轉換Java 或 C++ 都很方便~
Aaron: 感謝您的建議。
不過若真的要教這種 bundled IDE,那熱愛 Netbeans 的筆者我,應該是要介紹 Netbeans 才是啊!而且還可以再教 Ruby :p
你好,我是mac的使用者,同時也是C語言的初學者,我照大大的方法可以寫C了耶,可是C++也可以嗎,副檔名是main.c那是不是要改成 main.cpp這樣才可以寫呢?
因為我在用cout的時候失敗了,不曉得是不是因為不能用C++的語法的綠故
@鴨鴨:
既然你用了 cout, 那就應該是要用 cpp 的副檔名喔, 這樣 compiler 才會認得你的 cout
是否可以介紹”每一個開發環境強大的地方”呢?
我是Mac的用戶,我按照大大的說明也可以寫c了,但是有個問題,
寫出來的程式無法在Windows裡執行耶,因為老師改作業的電腦是Windows的...
我也想問這個問題 請問要怎樣才能在 OSX寫的C在windoiw上跑呢?
因為最近想買一台MB 入手 XD 感謝!
只要沒有用到 Mac 上特有的 library 就可以在 Windows 上跑啊…
唔,我的意思是說,用xcode寫程式,經編譯器出來的檔案,windows無法執行,因為似乎不是exe執行檔
那是當然的,
要在 windows 上 run, 就把程式碼拿到 windows 上 build 吧
了解!謝啦~
請問截圖中的vim有很詳細的中文的線上輔助視窗,這真是太實用了!
這功能要怎麼叫出來?