PSPであそぼう(2)
今回はC++でPSPの開発を行なう方法について説明する。PSPに限らず、この手の組み込み系の開発ならばいつでも通用する手法である。
C++で開発するメリットはclassやnamespace等で再生産性が上がったりプログラムの見通しが良くなることや、templateが使えることである。
もちろん、C++で開発とは言ってもPSPのような省メモリ環境では、objectを湯水のように使うことは出来ないし、new/deleteの回数も少ないに越したことはない。object poolを用いて、ユーザーレスポンスが必要なところではnew/deleteは最小限にすべきである。
また、「Cで開発しても困らない」というのは当然ある。一回限りの開発ならば、わざわざC++で開発する意味はあまりないし、C++で書けてCでは書けない(実現できない)処理というのも存在するわけではないし、多少無理をすればC言語でC++風に似非オブジェクト指向チックにプログラムを開発することは可能である。組み込み系ではそういうアプローチを採ることも多い。
あと、エミュ開発者で、C++のソースをPSPに移植するためにC言語のソースに変換している人が居るが、ああいうアプローチも間違っているわけではない。今後新しいプラットフォームが出てきて、C++で開発できないことだってあるわけで、C++のソースをCに移植するのは意味のあることである。
前置きが長くなった。まあ、C++プログラマにとっては蛇足だったかも知れない。さっそくPSPでC++でプログラムする方法を書く。というか、実際に動くサンプルを出す。これだ。
http://yaneu.com/yaneurao/hatena/cpp_realization_psp050621.zip
昨日の日記の手順に従ってPSPToolChainをセットアップした環境でビルドできることを確認している。私が書いた部分に関しては自由に改変して自分のソースに組み込んでいただいて構わない。
(つづく)