2010年10月21日 星期四

找到自由軟體的網站

使用自由軟體需要付什麼代價呢?我認為代價有:尋找、學習使用這些新的軟體,其實有些自由軟體也發展很多年了,之所以說是新的軟體是對我而言是新的,因為以前沒用過、不熟悉。有可能身邊的朋友使用的人不多,還好現在是網路時代,在網路上可以找到、問到很多資訊。

常常有意無意會看到:任意下載盜版(免費正版)軟體的話,必須有所警覺,因為這些軟體常可能會包含病毒、或惡意軟體。我常覺得說這些話的人,大多是商業軟體公司。只是這也算是有道理,終究網路上什麼東西都有,惡意軟體、被病毒感染過的執行檔也不少,當然不能隨便下載。

所以要找自由軟體最好是到可信任的網站上找,早年我都是到一些整理很多軟體的網站上找,例如:PChome ToGet史萊姆第一家Nelson校園自由軟體等,這些都已經經營很多年,應該值得信任。它們的好處是整理了很多軟體,而且都有各種分類的軟體。只是也有一些缺點,一方面他們整理的軟體中似乎愈來愈多是共享軟體(shareware),也就是可以免費試用一段時間,之後就必須買正版,現在我對共享軟體愈來愈沒有興趣了;另一方面就是廣告不少。剛開始自由軟體、免費軟體都不熟悉,所以這種分類整理幫助我們知道各種軟體,知道軟體名稱後,也可以用 Google 或 Yahoo 的搜尋引擎找看看其他使用者的評論。

只是當我用的自由軟體、免費軟體比較多之後,到這些地方去找的機會就變少了,終究我習慣用的軟體也有限,總不會將所有的軟體都抓回來用看看。後來我比較常看的,反而是類似經驗分享的部落格,例如:重灌狂人電腦玩物阿榮福利味綠色工廠軟體玩家免費資源網路社群。這些就像一般的部落格,只是他們長久、持續地介紹一些他們覺得好用的軟體,因為現在我都用 Google Reader 來訂閱部落格的 RSS,所以他們有新文章時我都會看到,有時就看看有什麼好用的軟體,適合的話就抓回來用看看。其實他們介紹的不單單是軟體,有時也會介紹好用的網站,反正現在雲端愈來愈流行,有些功能未必需要安裝軟體、單用網站就能達成。這些部落格或許沒有將所有的軟體分類整理得很好,不過現在搜尋引擎的功能都很強,要找資料幾乎都找得到。這些部落格的經驗分享就比前面單單整理軟體感覺更親切、更具體。

最後介紹幾個可攜式軟體的網站:Portableapps, Portableappz, portablefreeware,使用自由軟體有時會遇到一個問題,就是別人的電腦沒有我們常用的軟體,可攜式的軟體是不必安裝,從隨身碟裡面就可以直接執行。最近我下載了不少可攜式軟體,解決不少我自己使用的軟體不夠普及的問題。其實前面阿榮福利味綠色工廠裡面所介紹的軟體,其中也有很多是可攜式的軟體。

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 執行的話,麻煩您跟我分享,謝謝您。