2010年10月2日 星期六

關於免費的C++編譯軟體使用經驗

2006年我開始使用 Dev-C++,只是這幾年來 Dev-C++ 都沒有在更新,使用上比較不安心,因為擔心它哪天不再更新、無法在最近的 OS 上執行。當然,它所用的 compiler 還是 GCC 的 c++ compiler,它只是一個整合環境,只是 complier 使用的版本比較舊了。以前我還寫過一篇簡單的介紹

這個星期開始使用 Code::Blocks 這套 IDE 的環境,其中可以加不少 compiler,這套軟體持續都有在更新,所以它的 compiler 都比較新,editor 也有一些比較好的特性,例如:輸入 keyword 時,輸入前幾個字母、就會出現後面的字母,這還不必編譯之後就會出現,輸入左括號時會自動出現右括號(只是這個特性有時有點麻煩),輸入雙引號時也會成對 出現,輸入左大括號時、右大括號也會跟著出現(這也是有好有壞),游標停在大括號時、與它成對的大括號會出現不同顏色(這倒是不錯,特別是大括號太多時, 比較容易看清楚)。最近我也寫了一篇簡單的介紹

只是我寫 Code::Blocks這篇介紹文章時,我根本還沒有真正用過 Code::Blocks,有點紙上談兵的感覺,這兩天真的使用,就發現問題一堆,原來不覺得有問題的部份都出問題,不知是不是自己老了?或是對 compiler 太不熟悉了?我去 Code::Blocks下載網頁將安裝檔下載回來,之後就執行安裝,IDE 的環境就安裝好了,也都可以編輯程式,我就覺得沒問題了。後來要編譯程式才發現:怎麼都不會動?那個安裝程式原來並沒有包括編譯程式,真是奇怪。我就去阿榮福利味下載 8.02 免安裝版本回來,還好就可以編譯程式。只是後來還是覺得:我總不能都用舊版的程式!於是就用 Google 找了一下,終於找到這一篇教學的文章,才知道必須先下載與安裝 MingGW 編譯程式才行,這是這篇文章是三年前寫的,現在的情形是只要下載 mingw-get-inst-20100909.exe 這個檔案、執行、選擇 C++ 的 compiler 就會自動下載與安裝 compiler 了。然後再安裝我之前下載的 IDE 環境就可以編譯了。

使用 Code::Blocks 就是想用它的 debug,可用雖然經過前面的安裝之後,我開啟 .cpp 的程式可以編譯,但是卻無法使用 debug,因為 debug 那邊的功能都失效。我用 Google 有找到這篇「Code Block + GDB - 除錯工具設定」的文章,只是我照它所說在:Settings -> Compiler and Debugger 中將 -g 選起來,可是還是無法使用,實在有點想放棄使用它的 debug。還好,後來又找到另一篇文章:「Code::Blocks 教學 – Debugging」, 其中提到必須開新的 project 才能用 debug,於是我照其中所說的 File -> New -> Project -> Console application -> Go -> C/C++ -> 打上 Project title 和選擇要存放的位置 -> Next -> Finish,然後將我的程式 copy 到這個 project 的 source、main.cpp 裡面,之後終於可以用 debug,我就用它的 debug 來除錯。說真的,有 debug 的功能除錯真的方便很多,只是我覺得自己寫程式的功力似乎退步了,今天花了好幾個小時才將一個不怎麼複雜的程式改好,真是超乎原先的預期。

只是到程式快改好時又遇到一個問題:用 Code::Blocks 編譯的程式似乎無法直接在 dos 視窗中執行,我每次執行就會當掉。為什麼需要在 dos 視窗中執行呢?主要是做 io 轉向比較方便。所以最後我的程式又拿回 Dev-C++ 裡面編譯,然後在 dos 下執行。在網路上查了一下,似乎是現在新的 compiler 不支援在 dos 模式下執行了,所以 Dev-C++ 的 compiler 雖然舊,還是有它的好處。如果您知道如何讓 Code::Blocks 編譯的程式直接開 dos 執行的話,麻煩您跟我分享,謝謝您。

2 則留言:

不二 提到...

有10.5版囉
http://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Windows/codeblocks-10.05mingw-setup.exe
我也是今天第一次裝,完全沒問題哦!

Brian犬 提到...

可以給我你的mail嗎??
我可以comilper的步驟跟你說,可以在dos秀出來了