• 2

PPC掌上程式編譯器 PocketGCC - 基本介紹

PPC掌上程式編譯器 PocketGCC - 基本介紹
『前言』
您是一個正在開始學習電腦程式語言C/C++,恰好擁有一台Pocket PC的人嗎?還是一個 Windows Mobile的程式設計師,常在在等公車或是吃飯不經意時,在腦中浮現一行 一行的code卻沒有辦當場編寫然後測試看能不能跑?甚至是一個瘋狂programmer,想要測試自己的功力,想在一個手掌大小的螢幕上寫成一個幾千甚至幾萬行的程式?或只是PPC玩到爁,想找點新鮮的玩意兒試試的人?

那,就得試試看Pocket GCC - 一個可以讓你在PDA上直接寫出PPC 2002/2003可用程式的C/C++程式編輯器。


『功能與特色』
PocketGCC有以下的功能與特色
1. 有可以在Pocket PC上直接執行的C/C++ Compiler
2. 有幾乎涵蓋所有標準C/C++功能與函數。
3. 含有Pocket PC 2002 SDK的libraries,可以直接可以Compile, build然後run 普通Windows Mobile eVC的原始碼檔,不需經過任何轉檔。
4. 包括一系列編寫程式會用到的工具,像是assembler, linker 和 archiver。
想要知道更多資訊,可以是看看PocketGCC的"官方"網站。


『基本需求』
1. ARM處理器的Windows Mobile系統應該都可以,我是用H2210(English ROM 1.1)上測試的~
2. PocketGCC安裝檔


『程式安裝』
PocketGCC的安裝相當簡單。
1. 先在此處下載安裝檔。所提供的是一個zip壓縮檔,在desktop下可以自行先解開包括檔案如下:
PPC掌上程式編譯器 PocketGCC - 基本介紹

包括三個cab安裝檔:
cmd.arm.cab - command-line console (PocketConsole)視窗的程式。
pocketconsole.arm.cab - Pocket PC console模式的驅動程式 (PocketConsole需要裝此東東才能執行)。
pgcc.ARM.CAB - PocketGCC主程式

2. 將此三安裝檔透過ActiveSync先複製到Pocket PC裡以進行安裝。建議將檔案放置於記憶卡(例如:SD Card)裡,以免安裝時,內建記憶體空間不夠,。
PPC掌上程式編譯器 PocketGCC - 基本介紹

3. 在檔案總管理,可以不一順序點選檔案安裝。點取安裝後cab檔會自動消失。安裝的路徑是固定的,無法選擇。PocketConsole程式檔名為CMD.exe,安裝於\Windows之下。PocketGCC檔案全被安裝在名為\pgcc的檔案夾內。
PPC掌上程式編譯器 PocketGCC - 基本介紹

PPC掌上程式編譯器 PocketGCC - 基本介紹

4. 就這樣而已,沒有第四步


『使用 PocketConsole』
在PocketGCC裡,compile程式去必須要在console進行完成的。
如果有在command-line編寫程式或是常用DOS的人,很容易就可以上手的,因為PocketGCC下使用語法與其是幾乎相同的。

1. 檔案總管理按CMD.exe來開啟PocketConsole,開啟後視窗顯示如下:
PPC掌上程式編譯器 PocketGCC - 基本介紹

2. PocketConsole的使用方式與Windows裡的DOS相同,例如dir來顯示所處路徑的檔案和檔案夾。執行help可以來顯示所有console所支援的指令。
PPC掌上程式編譯器 PocketGCC - 基本介紹

試試看吧,在PPC下黑底白字的DOS下使用執行指令還蠻有趣的呢,也可以當做練習(雖然好像沒有什麼用

3. 去 File -> Properties裡可以調整console顯示操作設定包括字型和視窗等選項。
PPC掌上程式編譯器 PocketGCC - 基本介紹

PPC掌上程式編譯器 PocketGCC - 基本介紹

PPC掌上程式編譯器 PocketGCC - 基本介紹

PPC掌上程式編譯器 PocketGCC - 基本介紹

勾選QuickEdit Mode就可以複製和貼上console上的字。Insert Mode和平常keyboard上Insert(Ins)的功能相同。


『使用PocketGCC 編輯執行"Menu"範例』
PocketGCC裡附了一個簡單的範例,包含了執行compile指令的.bat檔,執行後會自動compile內附的程式。所附的範例,是一個Pocket PC 2003 SDK的example,是一個GUI程式喔

1. 在PocketConsole下,換到\pgcc的路徑下。

2. pgcc目錄下包含了所有編輯程式所需工具,包括cc1plus.exe,C/C++ compiler。至於使用語法,其實就是GNU Compiler Collection (GCC)的使用語法,此篇先不做詳細解釋了~

接著換到menu 範例下(cd \pgcc\samp),然後執行所附的menu.bat檔。
PPC掌上程式編譯器 PocketGCC - 基本介紹

此檔其實執行了以下的指令:
\pgcc\cc1plus \pgcc\samp\menu\menu.cpp -o \pgcc\samp\menu\menu.s -I \pgcc\include -I \pgcc\samp\menu -include \pgcc\fixincl.h -fms-extensions
\pgcc\as \pgcc\samp\menu\menu.s -o \pgcc\samp\menu\menu.o
\pgcc\cpp0 \pgcc\samp\menu\menu.rc -o \pgcc\samp\menu\menu.rc.p -I \pgcc\include -I \pgcc\samp\menu -DRC_INVOKED -include \pgcc\fixincl.h
\pgcc\windres \pgcc\samp\menu\menu.rc.p -o \pgcc\samp\menu\menu.rc.o --include-dir \pgcc\samp\menu
\pgcc\ld \pgcc\samp\menu\menu.o \pgcc\samp\menu\menu.rc.o -o \pgcc\samp\menu\menu.exe -L \pgcc\lib -l cpplib -l corelibc -l coredll -l aygshell -l runtime -l portlib

Compiled後的畫面如下:
PPC掌上程式編譯器 PocketGCC - 基本介紹

跑完後如果無錯,就可以在該目錄下找到compiled成功的menu.exe檔~
PPC掌上程式編譯器 PocketGCC - 基本介紹

3. 用檔案總管找到menu.exe,點一下就可以執行,畫面如下:
PPC掌上程式編譯器 PocketGCC - 基本介紹
此程式展現一些GUI compenets的運用,譬如hold-and-click在主畫面就會出現拉下選單,另外還有最底下的menu bar的運用喔~


『PocketGCC的未來』
PocketGCC強大的功能不僅於此,根據作者的網站,他未來打算加入以下等東西:
1. PDA可用的IDE (Integrated Development Enviroment)
2. MFC (Microsoft Foundation Class) 的支援
3. Local DLL 編寫的支援

功能真是強大啊,真無法想像現在PDA能做的事到底還有什麼


『後續』
如果很多人像我,只是想練習一些C/C++的程式編輯,像是最簡單的"helloworld",那要怎麼compile/build/run呢?有人有興趣的話,我可以改個時間再給他寫一篇

完~

這是小弟第一次寫"使用教學"報告,因為完全沒有經驗,如果寫的不好的地方,還敬請見諒

這裡所謂基本教學,是說明PocketGCC的下載、安裝、和基本使用過程,希望對有些人會有幫助。因為時間的關係,先寫這些,看後來想到缺少什麼要補充的,後來會再多加的
2004-05-06 23:38 發佈
呵,可以在 Pocket PC 上寫程式不錯,不過如果這個應用能在 HPC 應用會更棒的 ;)

另外,現在不是已經都在用 .NET Framwork 了嗎?還在用 MFC 會不會太辛苦...
這應該是給高手用的,
俗話說高手開發程式只需要Notepad,
如果用PDA直接就能開發PDA的程式,
那當然也是高手中的高手......
給分是一定要的啦.........

期待您的 Hello World 範例程式喔........
darrenlin wrote:
呵,可以在 Pocket PC 上寫程式不錯,不過如果這個應用能在 HPC 應用會更棒的 ;)

另外,現在不是已經都在用 .NET Framwork 了嗎?還在用 MFC 會不會太辛苦...


PocketGCC還沒有支援加入MFC的library,目前只有Win32 API喔,所以更辛苦

雖然說微軟是在力推.NET,不過也是WM 2003之後的PPC的有內建,所以如果要寫的速度快快些,能在舊機器跑的程式,Win32API或是MFC現在還是比較好的選擇
usrboy wrote:
這應該是給高手用的,
俗話說高手開發程式只需要Notepad,
如果用PDA直接就能開發PDA的程式,
那當然也是高手中的高手......


可能標題有點誤導,其實我只的編輯器是Compiler的意思。至於要寫程式,因為反正是code是text,就看個人喜好嘍~ PPC裡的Notes就可以用~
感謝大大的詳細教學,讓我有了開發程式的平台!
不過我沒學過C,粉久以前玩過BASIC!
如果現在想學的話,大大能否介紹一些書籍或者網站讓我能在這個平台上設計一些在PPC上執行的程式呢?感恩喔!
不要把別人的錯誤拿來懲罰自己!
真是太好了,至少是一個起點.
以前在寫code for ppc2003~2(or wince30),總覺得開發平台(ide)礙手礙腳.
從pc上debug(or trace)程式,總是要等activesync它爽了,才回應到ide上.
如果說使用模擬器,算了!!不提也罷...
欺待原作者,早日把generate dll,及mfc內建...
也謝謝發表者(版主)提供這一個好資訊!!
kingwolf wrote:
感謝大大的詳細教學,讓我有了開發程式的平台!
不過我沒學過C,粉久以前玩過BASIC!
如果現在想學的話,大大能否介紹一些書籍或者網站讓我能在這個平台上設計一些在PPC上執行的程式呢?感恩喔!


如果沒有學過C/C++的話,那建議先從學起~ 如果要詳細了解,我想買本書先K一K會比較好吧~

中文的網站不太熟,不過不介意讀英文的話,我覺得About的相當不錯,簡單易學易懂。需要的話,用RepliGo把裡面的tutorials存到PPC上,就還可以邊學習邊測試呢
我覺得這軟體有點糟糕||
之前用過..
but...
他沒有 IOSTREAM 這個標頭阿..XDD

然後哩,其實他已經有IDE囉,可以去他的Yahoo! Group看看:)

不過,他的編譯也有點麻煩,希望這軟體可以繼續加油!

至少,他目前比PocketC好用很多囉:)
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?