Entry

今日買った本 - 『Advanced Windows 第5版 上』

2008年11月12日

Vista / Windows Server 2008 のリリースにあわせて,第5版が出てたんですけど,高くてなかなか買えなかったのでした。やっと買った。

Advanced Windows 第5版 上 (マイクロソフト公式解説書)
Advanced Windows 第5版 上
posted with amazlet at 08.11.12
Jeffrey Richter Christophe Nasarre
日経BPソフトプレス
売り上げランキング: 36277
おすすめ度の平均: 5.0
5 Advanced Windows第5版翻訳本

本書は,Windows API の中でもシステムプログラミングに焦点を当てた,マイクロソフトの公式解説本です。システムプログラミングというのは,メモリ管理とかスレッド管理,それにデバイス IO といった,OS のコア機能を使ったプログラミングのこと。大上段に,システムプログラミングと言わなくても,タイマやプロセス制御なんかは,一般的なアプリケーションでもよく使いますよね。

Windows プログラミングのバイブルというと,いわゆる「ペゾルド本」があるわけですけれど,こちらはどちらかというと,(UNIX でいう)ユーザランドのプログラミング(GUI とかファイルの扱い方とか)が中心だったのでした。

プログラミングWindows第5版〈上〉Win32 APIを扱う開発者のための決定版! (Microsoft Programming Series)
チャールズ ペゾルド
アスキー
売り上げランキング: 153949
おすすめ度の平均: 4.0
5 初版で勉強しました。
4 詳しいが、少しバランスが!
5 硬派なWindowsプログラマーを志すならば
4 定番中の定番
2 Windowsのいろいろ

ただ,「ペゾルド本」は,システム関連の記述が,非常に薄かった。ビットマップファイルの読み方なんかは,すごく詳しいんですけどね。そんなのに詳しくなっても……ってのもあったりして。個人的には,「ペゾルド本」2冊と本書2冊で,Windows プログラミングの7割方は終えられるんじゃないかと思っていたりします。もちろん,ATL/COM みたいな,難しげな話もあるわけですけれど,本書「まえがき」にもある通り,低水準の仕組みを理解していれば,高水準の ATL/COM なんかも,比較的つまづきにくいんじゃないかと思います。

今時,お手軽な Windows のプログラミングというと,大体 VB で作られてたりするわけで,Win32 SDK をそのまま使ってプログラミングするってことはあまりなかったりします(あたしゃ今ゴリゴリ書いてるんですが)。しかし,スレッドを厳密に管理したい人や,DLL をかっこよく使いたい人。それに,パフォーマンスの高いアプリケーションを作りたい人や,周辺機器のデバイスドライバを作りたい人(これはさらに特殊だが)なんかは,ほぼ必然的に SDK を使うことになります。.net や Java のもっさり感が我慢できない人,そして何より,C/C++ で Windows プログラミングをする人は,ぜひ読んでおきたいところ。

上巻は,まず,システムプログラミングの入門として,エラー処理や文字列の扱い方,カーネルオブジェクトの扱い方あたりから始まります。あたしゃ普段 VC++ 6.0 を使っているので,いまだに文字列を ANSI 文字列で扱ってたんですけれど,これは改めなくちゃいけません。特に Vista 以降は,内部の文字列を Unicode のワイド文字で統一するようになりました。本書の文字列の扱い方では,そこら辺の事情が割と詳しく書かれています。ANSI から Unicode 環境への移行の仕方も丁寧に書かれているので,まずは,基礎知識として身に付けたい。

その後,第2部「作業を遂行する」からは,プロセスとスレッドの扱い方を中心に,どのようにプログラム(プロセス/スレッド)を制御するか,という話に話題が移ります。特に,上巻のほとんど全てといっていい程の分量を割いて,スレッドの制御を説明している。これだけ詳細な Windows のマルチスレッドプログラミング本も,なかなかない気がします。

また,64 bit 対応についても抜かりがない。32 bit 版の Windows は,Windows Server 2008 で打ち止めになって,今後は 64 bit 版の OS 製品しか出ないんだそうです。プログラミングも,それに合わせて対応しなくちゃいけないわけですけれど,本書はいち早く 64 bit の Windows プログラミングに目を向けています。サンプルコードの動作検証も,64 bit 版 Vista で確認を取っているそうなので,かなり信頼していいんだと思います(まだ読み始めだからアレなんですが)。

CreateFile() や WM_TIMER のような,よく使う API やメッセージですら,いまさらになって初めて知る貴重な情報が満載でした。高いけど熟読の価値アリ。超オススメです。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN