2007/10/14

Eclipse Platform‧續

10/14 公告:囧 原來最近更新程式碼過後系統出現了一些問題導致瀏覽及回文出現問題,現已修復,不便之處請見諒。
---
最近上了本系開設的「資訊安全學程」的「資訊安全實習」時,教授給我們每個人自行分組要操作 ZigBee 的版子,簡單說這是一個分散式無線網路的技術,而我們操作的機器是由 Jennic 製作的 JN5139 開發套件。新玩意當然對大家都很新鮮,紛紛拿來把玩一番。本體有一個 Coordinator (上面還有 LCD)、兩個 Router 和兩個 End-device。設定好 Channel 後就可以自動尋找機器形成一組網路以監控溫度、溼度和光暗變化,也可以藉由電腦連線修改其中韌體。

這又跟 Eclipse Platform 有什麼關係?課程中我們嘗試安裝 SDK 準備修改韌體內容,一打開才發現韌體是用 C/C++ 寫的,雖然這不是意料之外的事情,不過確實資管的課程至今還未教過 C/C++,我自己也沒學過 (我算從 Visual Basic 入門→網頁/Script→ASP/PHP/Ruby→Java),早就有過覺悟一定要學會 C/C++ 的說,不過總是沒能成功,這次終於有點推力可以引誘學習。無論如何先搞好開發環境吧。

基本上我使用的軟體多以自由軟體 (Open Source) 為主,所以常見的 Microsoft Visual C++ 我自然是不會去用。之前有用過 VC++.NET 2005 Express (免費使用) 但是還要安裝 Platform SDK 什麼的一大堆,搞到最後只有開過 IDE 介面看看環境連個編譯都沒有試過。這次剛好看到 GCC 這個編譯器集合,其中有個分支計畫稱為 MinGW 是給 Windows 專用的環境,安裝了 gcc, g++, mingw-make 等檔案就差不多 (我沒安裝 GDB 除錯工具,畢竟還不會用)。接著需要一個稱職的 IDE……讓我想到 Eclipse。

舊有的 Eclipse 感覺怪怪的而且版本也舊了,乾脆砍掉重練比較快:下載了包含的 JDT 的 Eclipse 之後再安裝 CDT (C/C++), RDT (Ruby) 之後就大功告成。CDT 似乎會自動偵測 MinGW 的程式位置那就不必再設東設西,接著就能開啟新專案寫一個 Hello world 啦!



說也奇怪,用 MinGW C++ 編譯出來的東西怎麼可以吃這麼大的空間?確定是 Release 版本卻可以吃上幾百 KB,真是奇怪。

其實最早看到的是同捆於 JN5139 SDK 的 Code::Blocks 這個同是自由軟體的 IDE,試用過發現整合的相當不錯可惜只有 C/C++ 編譯功能所以才想到可以支援多個語言的 Eclipse 平台。另外我最早接觸的 C/C++ IDE 應該是 Dev-C++,不過可笑的是我竟然把它跟 VC.NET 2005 一樣只把玩個 IDE 然後就丟了,編譯功能一直沒有試過。更早以前的 Turbo C/C++ 就不要提了。

最後嘛...該先學 C 好還是 C++ 好呢?基於 C++ 出現比較晚所以我可能會先學 C 吧。

2 則留言:

  1. 跟我不一樣呢。
    我的資歷是Java→C++→ARM→MIPS→ML '97→SQL (JDBC),然後現在正在修VB。
    我是衝著VB的簡易GUI介面設計來的,之前學的Java AWT/Swing與簡短介紹過C++的OpenGL實在是不敢領教,所以微軟的IDE軟體並沒有什麼太大意見的說。

    我是那種可以用Pilot筆與筆記本就當場寫程式的人,所以這種開發軟體是可有可無的說。
    不過現在外面業界都流行用來做除蟲輔助工具,出去現實世界大概還是得摸熟那開發流程 (跟客戶/管理階層交談、畫UML 2.0圖、Use Case圖、DFD圖、應用COCOMO II估算、用VB做Rapid Prototyping、寫劇本、做函式簡化、電腦與人介面學、平行運算優化、自動化測試、使用者反應調整、維護等),
    我還有太多等著要學的開發經驗......^_^|||

    回覆刪除
  2. GUI 固然是幫忙輔助的啊,提升工作效率降低其他可能的成本。
    如果能夠一支筆一張紙就開始的,那功力自然不在話下 (API 背到爛?)
    不過現實的工作環境不會要你拿紙筆寫程式吧,他們提供給你的開發環境和規律自然是要適應熟悉。

    我想人有太多學不完的東西了,不如在工作中學習吧。
    等到自認準備完成才入場卡位可能又不夠了。

    回覆刪除