2006-01-01から1年間の記事一覧

_beginthreadと_beginthreadexの違い

前から気になっていたのだが、_beginthreadの戻り値をWaitForSingleObjectで待とうとすると失敗する。 _beginthreadと_beginthreadexの戻り値は、両方とも「スレッドを指すハンドルを返す」となっていて、HANDLE型にキャストして使うことができる。 MSDNの説…

__FUNCTION__と__LINE__の文字列化

Linux kernel用に自作の簡易トレーサを使っている。 1つのチェックポイントあたり、16バイトの情報を記録しておいて、あとでダンプするというもの。16バイトというのは、 u32 timestamp; // タイムスタンプ const char *message; // メッセージ u32 param[2]…

カーネル読書会 第0x40回

↓ これに行ってきた。 http://mkosaki.blog46.fc2.com/blog-entry-166.html http://d.hatena.ne.jp/hyoshiok/20060609#p1CPUIDの結果から、より適切なコードバイトが使えるCPUなら、起動時にコードを書き換える仕組み。 Pentium4 対応カーネルってどうなって…

sqlplusにヒストリ

sqlplusでカーソルキーを入力すると、^[[Aとか出てきて補完してくれない。 HP-UXだとied sqlplusで良いそうだが、Linuxだとどうするのか?Rubyだとこんな感じらしい。 http://homepage1.nifty.com/~tetsu/ruby/diary/9906.htmlRubyがインストールされてない…

はやりもの

最近読んだ本が「ブギーポップは笑わない」。 こんなことではいかんと思い、計算機プログラムの構造と解釈 第二版(SICP)を買ってみた。 いきなり問題1.6で詰まった。 先は長い。[6/4追記] defineは置換が行われるんじゃなくて関数だから、 引数が確定して…

自作自演デバッグ

Cygwin版のInsightからVMWare上のLinuxをデバッグしようと思い立った。 Linux版のVMWareだと、ゲストOSのシリアルポートはホストOSのttyに公開できるのだが、Windows版のVMwareは、物理シリアルポート、ファイル(出力のみ)、named pipeの三択であり、その…

サクラエディタ

長年使用していたWZ4だが、放置プレーなので、乗換えを検討してみた。 カスタマイズできるフリーのエディタの中で、サクラエディタは選択していない状態でCtrl+Xを入力すると1行削除になり、割とWZ(VZ)に近いので、使ってみることにした。が、問題が二つ。…

特に意味なし

デバッグ中は「2ch」という単語が16進数表記の「2CH」に見える。 読み方は「にぃしーえっち」。

C++で正規表現 (ベンチマーク)

各ライブラリに速度差があるのかどうか調べてみた。 とあるブログをソースとして、テキストの一致判定を行った。一部を削ってみて4パターンで実行した結果は以下の通り。ビルド環境はPentiumM 1.8GHz、Visual C++ 6.0 SP5。単位はmicrosec、sizeは被検索文字…

C++で正規表現 (5)

C++

(有)ラング・エッジの正規表現ライブラリlei_jregexを試してみた。 SJISかEUCに対応している。初期化時の関数名はCOMライクとなっている。以下Regex.h。 class CRegex { void *m_regex; public: CRegex( const char *pszExpression ); ~CRegex(); bool Mat…

C++で正規表現 (4)

C++

Tatsuo Baba氏のBREGEXPでもやってみた。Baba氏のライブラリにはVB5/6の頃にはお世話になった。手軽に色々やりたいときに便利である。 bregexp.lzhに含まれるstruct bregexpの宣言は古いようで、parap以下のメンバーが含まれていない。Linux版やwebに載って…

C++で正規表現 (3)

C++

王道であるBoost.Regex(version 1.33.1)を使ってみた。 このCRegexの使い方は(1)と同じで、 CRegex Regex( "(abc)(def)ghi" ); int nResults = Regex.Match( "abcdefghijkl" );という感じ。以下Regex.hのソース。 #include class CRegex { // boost::reg_e…

C++で正規表現 (2)

C++

PCRE(Perl Compatible Regular Expressions, http://www.pcre.org/)のラッパーも作ってみた。 PCREはC++ Builderに入っていたり、Cではメジャーなライブラリである。PCRE用のCRegexの使い方は(1)と同じで、 CRegex Regex( "(abc)(def)ghi" ); int nResults…

C++で正規表現 (1)

C++

しばしばC++で正規表現検索の必要に迫られるので、少し試してみた。 (自分が)手軽に使えるように CRegex というラッパーを作成した。使い方は CRegex Regex( "(abc)(def)ghi" ); int nResults = Regex.Match( "abcdefghijkl" ); std::cout Regex.GetResult…

はてなブックマークの一覧

見ているサイトの、はてなブックマークでの一覧(注目エントリー、http://b.hatena.ne.jp/entrylist?url=URL)を新しいウィンドウで表示するbookmarkletを書いてみました。 http://ドメイン名 だけだと、はてなやlivedoor Blogに使えないので、http://ドメイ…

東京ブロガーカンファレンス

id:catfrog:20060108 えー、参加希望です。 どなたが来るんでしょうか。