最近、プログラミングの記事が無いよねと貴方がいったから、10月29日はプログラミング記念日。
今日は、音楽フォーマットを知らなくても出来る!音楽ファイルのタグ情報の取得方法を紹介します。WMAとMP3で同じ関数が使える代わりに、ID3v2.3タグのこの項目!という指定は出来ません。
Visual Studioがなくても、Windows SDKさえあれば、最新のC++コンパイラ(Visual C++)が含まれているので、何でも開発ができます。
しかし、Windows SDK 7.1に含まれるサンプルプログラムはmakefileがないので、nmakeが使えず、msbuildとvcbuildで処理しようとしたところ、結構ハマりました。
新たな手法を見つけ出したわけでなく、個人的な備忘録を兼ねて書きます。
具体的には以下にフォーカス。
GUI環境のDebug時に便利なWindowsAPIであるOutputDebugString。
製品リリース時に「そのまま」にしてしまった経験はありませんか。
リリースビルドは、最適化する目的で行うものですが、これにOutputDebugStringの呼び出し削除は当然含まれていません。
デバッグメッセージを必要とする人がいるからです。
C言語の初心者が陥りやすい罠の一つに、ファイル構造を定義した「構造体」をfwriteなどの関数で書き込むというのがあります。ゴミが入って思うようには動かないコードが出来あがる。これは構造体のメンバをメモリ上で連続させない事が許されるからです(境界調整)。
さて、今の復習。doubleが8バイトの処理系の場合、以下の構造体の大きさは、全部で何バイトになるでしょうか?
struct tagFileHeader {
char a;
double b;
}
【 難易度 】★★☆☆☆
【 ISBN 】978-4-04-867509-3
日本語でよめるDebugging Tool For Windows(WinDbg)の文献といっていいでしょう。対象となる読者はブルースクリーンで心躍る人、Visual Studioのデバッカを極めたけど何か面白いものないか探す人です。
現2009年9月時点では、豊田孝さんなどがWebにて非常にわかりやすい記事を書かれておりますが、冊子で読めるものは殆どありません。特に日本での需要は少ないため、今後も出てこないだろう事も本書選定のポイントです。
【 難易度 】★★★☆☆
【 ISBN 】978-4-7980-1705-1
一度くらい、逆アセンブルをしようと思った人なら必ず見ている、Digital Travesiaの管理人が書いた本です。対象となる読者はC言語によるWindowsプログラミングを経験していて、かつ、実行ファイルの解析をしたことがない人です。評価が3つ星である理由は、本の内容ではなく、この本の購読者層をどこにしたんだろうという疑問点からです。つまり、簡単な話と難しい話が両極と感じたのです。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
最近のコメント