クロスプラットフォームの鬼門 wchar_t

Unicode wchar_tの説明を読むと、これさえあれば各OSで動くと希望的観測を、

つい、してしまうのが、プログラマーの悲しさです。

むろん、うまくいくわけではなく、

wchar_tは

Unix系では4バイト

Windows系では2バイト

です。 これがクロスプラットフォームで泣かせます。 Qtなどはこれにハマらないよう設計を工夫しているのが使っているとわかります。 したがって、WindowsのプログラマーはLPTSTRとかTCHARを使っていれば大丈夫というのは迷信に過ぎないのです。

参考:
 wchar_t: Unsafe at any size

http://en.wikipedia.org/wiki/Wide_character



コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

How to preview nif file on the ubuntu.