プログラム

続 gcc3

typename は何故必要か。なるほどねぇ〜。

クロス開発環境

初めて自分の手でクロス開発環境を作成しているんですが…すんげー面倒ですな。

gcc3

とあるソースを gcc 3.3.2 でコンパイルしようと思ったらエラーとワーニングがぽろぽろと。表示されたメッセージで google さんにお伺いをたてて問題解消。 問題は std::exception のデストラクタと what() の宣言が違っていたのと、"implicit typename is d…

アレ

んー、どっかでメモリリークしてるね…。

続 Qt

あと、(X の)イベントキューが空の時のフックが無いのもキツいね…。0ms 指定のタイマーを掛けてるけど、ちょ〜っと駄目っぽい感じ。フックが無くても自前でイベント処理ができれば良いんだけど、それもできなそうだしなぁ。

Qt

Qt、Qt、スピード出ません、スピード出ません。ヒメクレません。 QImage で 16bpp が扱えないのは、いくらなんでもそりゃ無いんじゃないですかって感じなんですが。あと QImage から QPixmap への変換方法が QPixmap::convertFromImage() しか無いってのも泣…

続々 XWarpPointer

前述のコードを真面目に動かしてみたら、動作が変だったので修正。

続 XWarpPointer

前に書いたコードが Qt 3.1.2 で動作する事を確認できた。確認できたのは良いんだけど、対になる現在のポインタ座標の取得処理が Qt には無かったんで作ってみた。 現在のマウスポインタのグローバル座標系の位置の取得は QCursor::pos() で取得可能。グロー…

アレ

マニュアルとドキュメント書き中。はてしなく面倒だ…。

続々々々アレ

fopen(3) の第二引数を "rb" にした理由が判った。"rb+" だとユーザに書き込み権限の無いファイルがオープンできないからだ。これ書いてると情け無くなるね。 結局、最初に "rb+" で fopen(3) して、エラーだったら "rb" で fopen(3) する様にした。つーか、…

続々々アレ

理由も判ったー。それはな、つまり、なんと言うか fopen(3) の引き数だったのだよ。第二引数が "rb+" だったのに "rb" になっていたのである、と言うか自分が書き換えたんですが。まー、そりゃ書き込みできないよな。

続々アレ

犯人は俺だ!何故だかはまだ判らないけどな。

続アレ

む、再現しなくなってる…。

アレ

あれー、ハードディスクのフォーマットができないね…。

アレ

うひょひょひょ、やっと設定用ダイアログ書き終りましたよ。

元プログラム

こんな感じでした。 typedef struct hoge_tag { unsigned char *name; unsigned short type; void *p; } hoge_t; enum { TYPE_STR = 0, TYPE_INT, TYPE_MASK = 0x7f, TYPE_RO = 0x80, }; static const hoge_t hoge_tbl[] = { { "hoge", TYPE_STR, ... }, { "…

続駄目プログラマ養成講座

あー、また今日もやっちったよ。もう駄目ぽ。自壊、自粛、自刃。 元プログラムで「あー、リードオンリーの場合の処理してねーや」とか思って修正したソースが…。 while (p type & TYPE_RO)) { switch (p->type & TYPE_MASK) { ... } p++; /* リードオンリー…

駄目プログラマ養成講座

あー、久々にやっちまった感じが…。こんなのをやるたびに豆腐の角に頭ぶつけて氏にたくなるね。自戒、自壊、十戒。 #include enum { HOGE_A, HOGE_B, HOGE_C, HOGE_D, HOGE_E, HOGE_OTHER, HOGE_MAX }; static const char *hoge[HOGE_MAX] = { "A", "B", "C"…

アレ

今設定用のダイアログをチマチマチマチマ(以下 hoge 回省略)書いてるんだけど、ふんげー面倒臭い。設定ファイルを直にいじってくれー、と言いたい。

進捗

とりあえず画面とフォント周辺以外は移行完了。

進捗

一歩進んで三歩下った感じ。

XWarpPointer

X11 上で GTK+ や Qt といったツールキットを使ったプログラムでマウスポインタをあるウィンドウのある座標に移動させたいと思ったけど、こいつらには XWarpPointer(3X) をラップしてるメソッドが無い様でツールキット経由じゃできないのね。 とりあえず Dis…

バグだらけ

数日前に書いたソースを覗いてみたらバグだらけで嫌ンなったよ。 変数の使い廻しイクナイ! そりゃ自分がアホなだけだが…。

メモリーリーク

エラー時のリソース開放漏れで二件、new したメモリ領域を free(3) で開放していたのが一件。後者のは自分のミスじゃないんだけど…。 いつもこういうチェックができる位余裕があると良いのに。 って、これを事前に検出できなかったのってまずいよな…。

STL map 要素の削除方法

何故か GCC と aCC でやり方が違うのね…ハマった。 GCC の場合 for (it = hoge.begin(); it != hoge.end(); ++it) { // ここで it->second を保存して a.erase(it); // ここで delete する } aCC の場合 it = hoge.begin(); while (it != hoge.end()) { // …

進捗

とりあえずコーディングは終った事にしておこう。

進捗

やっと終りが見えてきた。

進捗

いかにも動かなそうなプログラムを 500 行程書いた。外堀を埋めるだけは埋めた感じか。でも、さすがに明日中には書き終らないだろうなぁ。

趣味のプログラム

最近全然手がつけられない…。せめて、必要な調査とかサンプルプログラムくらいは少しずつでもいいから進めていかないと。

進捗

まともに動作しそうな処理を一日に 100 行も書けてなくなってるな…。まあ、昔は書くだけ書いてから構造を変更する等していたから、行数だけは書けていただけとも言うけど。