今日買った本 - Cプログラムの中身がわかる本

2008/02/21

表紙が初心者向けな印象があるけれど,内容は本格的。数ページパラパラ立ち読みした後,迷わず買いました。なんだか,表紙で損している気がする……かわいいんですけどね。内容と釣り合ってないって意味で。

本書はC言語のプログラミング本ではなくて,Cで作ったプログラムが,どうやって動いているのか見てみよう,という本です。Cについての基本的な知識があることは前提で,まぁ,要するにアセンブリを解析しようってな話。今日移動中に一読したんですけすけれど,いい感じです。

アセンブリ本というと,クラッキングまがいの本は出てるんですけれど,個人的にそゆのにはあまり興味がなかったりします。せいぜいパスワードクラックしたり,リソースを書き換えたりするくらいですもんね。芸がないっちゃ芸がない。

本書は,Cのソースからアセンブリのソースを作るところから始まって,gdb(デバッガ)の使い方から,スタックや演算の仕組みまで,順を追って話題が高度になっていきます。しまいには,インラインアセンブラを使ってCを最適化する方法や,スレッドが具体的にどのように実現されているのかまで説明されていて,ただものではない。これだけの濃い内容で,ページ数が200頁ちょっととお手頃なのもグッドです。

似たような本の Binary Hacks と比べると,Binary Hacks がバイナリアンの内輪話なのに対して,「本書はバイナリアン入門」みたいに位置づけられるんじゃないかと思います。

一方で,本書は,コンパイラ(狭義)の仕組みには詳しいものの,リンカやローダについては記述が薄くなっています。ここら辺は「Linkers & Loaders」あたりがとても参考になります。てか,ここまで読んでると,ほとんど趣味の領域を超えちゃうんですけどね。この手の本はあまりないので,これくらいしか挙げられないってのが現実的なところだったりして。

久しぶりに良書に出会ったので,もう一回読むつもり。実際に手を動かして解析すると,楽しさも増しそうです。

Site Navigation
SNS Accounts (@aian)

普段はここら辺に住んでいます.