2010年7月12日 (月曜日)

21:24:52 # Life vector bool は bit vector なんだろうか。 ふと疑問に思ったので確かめようかとおもって適当にコードを書いてコンパイルしてデバッガにかけてみた。 手元にはg++ (Debian 4.3.2-1.1) 4.3.2M-x gdb してからソースコードの当該の行でM-x gud-breakして、gdb のプロンプトからrun。 disassembleの出力をc++filtしてみたら、 vector::operator[](unsigned int)に対して std::_Bit_reference::operator=(bool)というのが呼ばれているようだ。 /usr/include/c++/4.3/bits/stl_bvector.hあたりをながめてみるにビットマスク演算とかしてるっぽいところをつきつめたところで満足。

(gdb) info program
Using the running image of child process 3401.
Program stopped at 0x80488d5.
It stopped at breakpoint 1.
(gdb) disassemble
.
.

	

22:03:17 # Life 東京エリアDebian勉強会キャンセル。 夏の始まりの三連休の初日に会議室でDebianについてむさくるしく語ることはないだろう、ということで今月はまだ参加表明している人が一人しかいないので、キャンセルしてみることに。 海だよ海。

22:16:39 # Life realloc. メモリをmallocで確保して、reallocでリサイズしてget()でアクセスできる、スマート?なポインタを実装してみた。 しかしこれを使えるSTLを実装するにするにはどうしたらよいものか。

Junichi Uekawa

$Id: dancer-diary.el,v 1.94 2009/10/21 14:02:48 dancer Exp $