第 4 章 c。またまた写経して実行するだけ。
day04c(〜p.107)は終わり。
*****
第 4 章 d。
あまりセクション類は普段意識できていないので、少し覚えておきたい。
objdump -CxS -M intel --prefix-addresses main.o | grep .bss
してみると、
0000000000000010 g O .bss 0000000000000008 pixel_writer 0000000000000000 g O .bss 0000000000000010 pixel_writer_buf
となっていて、なるほど確かに初期値のないグローバル変数が置かれているようだ。
-PixelWriter* pixel_writer;
+PixelWriter* pixel_writer = nullptr;
としても状況は変わらないが、
-PixelWriter* pixel_writer; +PixelWriter* pixel_writer = reinterpret_cast<PixelWriter*>(0x1000);
とすると、pixel_writer
は .bss セクションからは消える。代わりに
0000000000000000 g O .data 0000000000000008 pixel_writer
ということで、.data セクションに移動していることが分かる。なるほど。
他の内容は読んでみて、そっかそっかと理解したことにして終える・・・。day04d(〜p.116)は終わり。