~CEでプログラミング(その1 - PocketCをゲットしよう)~
突然だが筆者は唄って踊れて原稿も書けるプログラマである。ちなみに、唄うのはカラオケボックス、踊りはDDR、原稿は迅速(嘘)だったりするのだが......さて、職業プログラマや趣味でプログラミングをしている人たち、特に第一線で活躍している彼ら、彼女らには共通の思想がある。それは「どーだ、すげーだろう」の精神だ。たとえば、フリーソフト作者やシェアウェア作者、彼らは「こんなに、すごいものを作った」のだから、それを公開したいという気持ちを持っている人も多いはず。また、向上心のカタマリのようなプログラマは常に「すごいもの」を作りたいと考えているし、そのためには新しい技術を習得したりということも辞さないのだ。
さて、冒頭からいきなりプログラマの話をしてしまったが、今回のお題はプログラミング。Windows CEのプログラムを作ってしてしまおうというお話だ。まだまだ、潜在的プログラマ人口の少ないWindows CEプラットフォーム、Windows CEのプログラムを作って、あなたも「すごい」プログラマの仲間入りをしよう。
■Windows CEのプログラムを作るには
Windows CEで動作するプログラムを作るにはいくつかの方法がある。もっともポピュラーなのはMicrosoftから提供されている開発環境を利用すること。Microsoftからは、Microsoft Visual C++ 6.0(VC++)とMicrosoft Windows CE Toolkit for Visual C++ 6.0(VCCE)あるいはMicrosoft Visual Basic 6.0(VB)とMicrosoft Windows CE Toolkit for Visual Basic 6.0(VBCE)が必要。
VC++とVBは元々はWindows上で動作するWindowsをターゲットにしたプログラムを開発するためのプログラミング環境だが、それぞれVCCE、VBCEのアドオンをインストールすることで、Windows CEで動作するプログラムを作成できる。つまり、Windows上でこれらの開発環境を使ってWindows CE用のプログラムを作るわけだ。ちなみに、このようにターゲットとは異なるプラットフォームで開発することは、クロス開発と呼ばれる。
だが、実際に開発環境を揃えるとなると、10万円近い出費が必要となる。職業プログラマならばまだしも、趣味でプログラミングを志そうというサンデープログラマにとっては、これは非常に高い買い物だ。実際プログラムは作ってみたいけれど開発環境が高額すぎるという理由で二の足を踏んでいる人も多いのではなかろうか。
しかし、その心配はいらない。Microsoftの「バカ高い開発環境」を使わずに、Windows CEのプログラムを作る方法があるからだ。
■PocketCを使ってみよう
OrbWorksのPocketCは、Windows CE環境で動作する開発環境である。VC++とVCCE、VBとVBCEのようにWindowsで動作するのではなく、Windows CEで動作し、Windows CEのプログラムを作れるというのが面白い。PocketCという名前の通り、C言語を基本にしたサブセット。OrbWorksのホームページよりダウンロードすることが可能だ。ちなみにPocketCは、45日間の利用制限があるシェアウェア。継続して使うには利用料を支払い登録をする必要があるが、とりあえずプログラムを作ってみたいという人にはうってつけの環境だ。PocketCをWindows CEにインストールすれば、Windows CEを使ってWindows CEで動作するプログラムを作ることができるというわけなのだ。
インストールは非常に簡単。まず、OrbWorks社のホームページから、フルパッケージのPocketCを入手。インストールはActiveSync経由で行なうのでWindowsマシンでダウンロードする。
ダウンロードが終わったら、インストールしたいWindows CEマシンをActiveSyncでWindowsマシンと接続し、インストーラを起動する。こうすることで、Windows CE上にPocketCをインストールすることができる。
なお、インストールされるプログラムは「PocketC Development」と「PocketC Runtime」の2つのプログラム。「PocketC Development」はエディタを内蔵した開発環境。この開発環境を使ってプログラムのソースコードを書いたり、コンパイルをして実行プログラムを作る。一方の「PocketC Runtime」はPocketCで作られたプログラムを実行するのに必要なプログラム。PocketCはWindows CEの実行ファイル(exeファイル)を直接作成するネィティブコードコンパイラではなく、*.appという拡張子を持つ独自の実行プログラムを作成する。こうして作成された実行ファイルをWindows CEで実行するために必要なのが、「PocketC Runtime」なのだ。
PocketC Developmentの画面。ここでソースコードを入力し、コンパイル、実行することができる |
■さっそくプログラミング
インストールが終わったので、「PocketC Development」を使ってさっそくプログラムを作ってみた。PocketCはC言語をベースにした言語ということなので、お約束のhello worldをコンパイルしてみた。ちなみに、hello worldはコンソールに"hello world"と表示させる短いサンプルプログラムで、C言語の入門書などでほとんど必ず最初に紹介されているものだ。
main()
{
printf("Hello world\");
}
|
さあ、コンパイルして実行。してみたが、コンパイルエラーが表示され。実行してくれない。やっぱりマニュアルを見ずにいきなり実行したのがマズかったらしい、というわけで、付属のヘルプを見てみた。どうやら、PocketCはCという名前はついているのだが、C言語とは違う言語だと思ったほうが良さそうだ。
Hello worldをコンパイルしたが、あっさりと玉砕 |
言語仕様はC言語がベースになっているが、一部違う部分もある。たとえば、文字列を扱うstring変数があったり、計算式が混在しているときは、自動的に型変換を行なってくれることなどもそうだ。また、標準で用意されているライブラリもANSIライブラリや、Win32ライブラリとは全く異なるのが特徴。つまり、ANSIスタイルやWindowsスタイルのプログラミングをすることはできない。そのため、PocketCでC言語を勉強したり、Windowsスタイルのプログラミングを勉強することはできない。
しかし、ユーザインターフェイスに関するものやファイル操作、データベース操作など、かなり高度なプログラミングをすることも可能だ。たとえば、グラフィックを使った簡単なゲームなどは、Windowsスタイルでプログラミングをするよりは、PocketCを利用した方が簡単に作ることができる。また、PocketCの言語仕様はANSI CやC++と比較するとかなり単純なので、とりあえずプログラミングの世界を知りたいという人や、これからプログラミングを勉強していという人には最適な選択であるといえるだろう。
■ちょっとサンプルプログラム
最後に簡単なサンプルプログラムを作ってみたので参考にしてほしい。ちなみに、このプログラムはスタイラスのイベントを監視して、タップした位置に"Hello World"とタップした座標を表示するプログラムだ。
今回作ったサンプルプログラムの実行結果 |
main()
{
int e;
int x;
int y;
string hello;
while(1) {
e = event(1);
if (e==4) {
x = penx();
y = peny();
hello = "hello world ("+x+","+y+")";
text(x,y,hello);
continue;
}
}
quit();
}
|
◎関連URL
■Microsoft Visual C++
http://www.microsoft.com/japan/developer/visualc/
■Microsoft Visual Basic
http://www.microsoft.com/japan/developer/vbasic/
■Microsoft Windows CE Toolkit for Visual Basic
http://www.microsoft.com/japan/windowsce/cetools/vbprodinfo/vbdata.htm
■Microsoft Windows CE Toolkit for Visual C++
http://www.microsoft.com/japan/windowsce/cetools/vcprodinfo/vcdata.htm
■OrbWorks PocketCのホームページ
http://www.orbworks.com/wince/index.html
(広野 忠敏)
2000/02/02
|