2007-12-17 (月)
明日はゼミ.
*Visual Studio 2008 Express Edition
明日リリースですね.英語版は既に少し使ってみましたが,サイズがかなり大きくなっていたのが気になりました.
*構造体メンバのアライメント
少し前,Win32なプログラムを書いていて,しかも諸事情でSDKのヘッダファイルを使いたくないという変なプログラムを書いていたときのことです.
なかなか取れなかったバグの原因が構造体のアライメントだったりしたのは,かなりショックでした.構造体のパディングなんて分かりきっているつもりだったし.油断していました.
そのときは,pragmaでアライメントを無効にして解決しましたが,アライメントを無効に出来ないコンパイラって無いんでしょうか?大抵のコンパイラでは大丈夫ですが,実装者に任せられる部分なので分かりません.
Win32のAPIは構造体に激しく依存しているので,もし,アライメントの制御が出来ないと,プログラムが大変なことになります.
C++のstructはもう,デフォルトでアライメント無しにして欲しい.代わりに格納時のバイトオーダーを制御する構文があればさらにうれしい.
SDK無しでWin32のAPIを呼ぶ方法は別の機会に.
*QRコード
仕様を調べてみる.誤り訂正は単純なReed-Solomon符号.意外と簡単そう.