GTK+入門
職場の人がタダでくれたので、読んでいるのだが一言言いたい事がある。
大体目を通したのだが、内容は別に悪くないと思う。れっきとしたGTK+の入門書だ(それ以上でも、それ以下でもない)。だけどね、普通にコンパイルしてワーニングが出るのは凄い嫌。
だってね、次のように宣言されている関数gtk_timeout_addに対して、二つ目の引数に関数DrawPictureのポインタを渡すんだよ。おかしいって。
/* 宣言 */ typedef gint (*GtkFunction) (gpointer data); guint gtk_timeout_add (guint32 interval, GtkFunction function, gpointer data); /* 関数DrawPictureのプロトタイプ */ void DrawPicture(GdkDrawable *gd);
次のように修整すれば正しくなる。
gint DrawPicture(gpointer gp) { GdkDrawable *gd = (GdkDrawable *)gp; ・・・ ・・・ return 1; }
事のついでに気になることを言うならば、内容の重みのバランスが悪い気がする。前半で妙にオセロの戦略にページを割いている割りに、後半が妙に駆け足だったり。オセロの戦略に中途半端な工夫を加えることとGTK+の入門に関連があるとは思えない。
ちょっと気になって、本のタイトルで検索してみたら、二つの気になるページを見つけた。