Cプログラムの中身がわかる本2008/02/21表紙が初心者向けな印象があるけれど,内容は本格的。数ページパラパラ立ち読みした後,迷わず買いました。なんだか,表紙で損している気がする......かわいいんですけどね。内容と釣り合ってないって意味で。本書はC言語のプログラミング本ではなくて,Cで作ったプログラムが,どうやって動いているのか見てみよう,という本です。Cについての基本的な知識があることは前提で,まぁ,要するにアセンブリを解析しようってな話。今日移動中に一読したんですけすけれど,いい感じです。アセンブリ本というと,クラッキングまがいの本は出てるんですけれど,個人的にそゆのにはあまり興味がなかったりします。パスワードクラックしたり,リソースを書き換えたりするくらいですもんね。芸がないっちゃ芸がない。本書は,Cのソースからアセンブリのソースを作るところから始まって,gdb(デバッガ)の使い方から,スタックや演算の仕組みまで,順を追って話題が高度になっていきます。しまいには,インラインアセンブラを使ってCを最適化する方法や,スレッドが具体的にどのように実現されているのかまで説明されていて,ただものではない。これだけの濃い内容で,ページ数が200頁ちょっととお手頃なのもグッドです。バイナリアンの内輪話なのに対して,「本書はバイナリアン入門」みたいに位置づけられるんじゃないかと思います。一方で,本書は,コンパイラ(狭義)の仕組みには詳しいものの,リンカやローダについては記述が薄くなっています。Loaders」あたりがとても参考になります。ここまで読んでると,ほとんど趣味の領域を超えちゃうんですけどね。この手の本はあまりないので,これくらいしか挙げられないってのが現実的なところだったりして。久しぶりに良書に出会ったので,もう一回読むつもり。実際に手を動かして解析すると,楽しさも増しそうです。