GCC支持 -fshort-wchar参数,可以将wchar_t从4字节切换到2字节。
如何在编译时检测wchar_t的大小,以便正确地映射到适当的utf-16或utf-32类型?直到c++0x发布并提供稳定的utf16_t和utf_32_t typedefs为止。
#if ?what_goes_here?
typedef wchar_t Utf32;
typedef unsigned short Utf16;
#else
typedef wchar_t Utf16;
typedef unsigned int Utf32;
#endif