にほんブログ村 その他趣味ブログ 電子工作へ

2009年02月03日

ロボデザイナー Ticolla CDE と SDCC について

以前、Ticolla CDE が コンパイラに SDCC を使っていることを書きましたが、コンパイル時のエラーが SDCC のアウトプットそのままであり、エラーメッセージが英語でしかも不親切な表現で表示されるため、子供達にとって(もっと問題なのはメンターにとっても)エラーの原因を探ることがとても困難です。
かなり極端な例ですが、#pragma less_pedantic なしで以下のコードをコンパイルします。

void main(void) {
 byte a = 1;
 if (a == 1) return;
}
要は a が 1 であることが明白なのになんで評価するの ? というコードです。ちょっと単純化しすぎているので、そんなのダメで当然じゃんと思われるかもしれませんが、複雑なプログラムの中での出来事である場合や、初心者の子供の目で見た場合を想定して下さい。

そうすると以下のエラーが出力されます。
main.c:36: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
EVELYN the modified DOG は知る人ぞ知る FRANK ZAPPA の曲の題名ですが、ある程度は ZAPPA を知る人の私が曲の歌詞を紐解いてもエラーの意味を理解出来ないほど超ハイレベルなオタク度を誇るエラーメッセージですね、これ(笑)。Ticolla CDE が SDCC を使っていることを自ら発見しネットで正確な情報を検索出来るか、もしくはC言語の達人でない限り、コンパイルエラーに完全にハマったときの対処が非常に困難な場合があると感じます。折角 GUI としては良く出来ていて、タイルベースからテキストベースへの移行に適した開発環境なのにとても口惜しいですね...
posted by モッパー at 00:44| Comment(0) | TrackBack(0) | ロボデザイナー
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/26215057
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
にほんブログ村 その他趣味ブログ 電子工作へ