TX-Cで遊んでいると、C言語の書きかたはだいぶ身についてくると思うのですが、いっぽうで、TX-Cには関係ないCでの開発に必須な一般知識というのはいつまでたっても知らないままだったりします。
たとえばmakefileの書きかた。$@がなにで$<がなにを表しているか、なんてなかなか覚えられません。
Masaaki Shibata blog
TX-Cで遊んでいると、C言語の書きかたはだいぶ身についてくると思うのですが、いっぽうで、TX-Cには関係ないCでの開発に必須な一般知識というのはいつまでたっても知らないままだったりします。
たとえばmakefileの書きかた。$@がなにで$<がなにを表しているか、なんてなかなか覚えられません。
ポインタ変数と配列は同じ型であつかえるようになってるので似てますが、全然別の物です。ちゃんと勉強しましょう。
配列が関数の引数で渡されたときのお話。ポインタ変数と配列とアドレスの関係
がはっきりすると、Cが急に明瞭なものに感じられるようになりますね。なんだ、けっきょくぜんぶメモリ操作か、みたいな(笑)。
プログラマでもないのに偉そうですが(笑)。
このあたりがあやしいと、配列へのポインタpに対してsize = sizeof(p);
として配列のサイズを得ようとしてみたり(ポインタからもとの配列の大きさを知る方法はありません)、ポインタ経由で渡されたint型の変数の値を変更しようとしてp = 0;
とやってしまったりします(*p = 0;
が正しい)。
じつは、「ポインタまわりは一度理解した(と思った)あとで、もう一度わからなくなるときがくる」という持論を抱いてたりします。たんに自分がそうだったから、というだけですけど(笑)。
Palmwareを作ってみたいとずいぶん前から思っているのですが、なかなか踏み切れず資料ばかりが揃っていきます。というのも、どうもよさそうな開発環境が見つからなくて……。最近いくつかの開発環境を腰をすえて検討してみました。WindowsでのPalmware開発環境で代表的なのが次のふたつなのですが……。
そういうわけで、WindowsでのPalmware開発環境は充実しているようでそうでもないです(C/C++にこだわらなければもうちょっと選択肢は広がりますけど)。WZとコマンドラインでばりばりやるしかないのかなあ、とあきらめかけたところで、ちょっと気になる開発環境を見つけました。
コンパイラなどはPRC-Toolsのものを利用しているのですが、それらをIDEで完全に覆っています。Visual Studioライクの、Windowsのまっとうなインタフェースをしているので、理不尽な違和感もなし(しかもよくできてます)。これ、どこかが日本語版を出してくれないでしょうかね……。英語版のままでも購入を考えてしまうくらい魅力的です。
はぁ、eMbedded Visual Toolsがうらやましいです(笑)。
ここ数日、ここのサイトのいくつかのページが正しく表示されない場合があったみたいです。トップページなどは複数の文字コードが混在した状態になってました。
しかし、そんな状態でもWindowsのIE6では正常に表示できてた模様。柔軟にソースを解釈してくれるのはいいんですが、おかげで問題に気づくのが遅れてしまいました。