<MFC Windows 程序设计>一书中所述:
Unicode程序运行起来比ANIS程序稍快,因为系统不需要进行ANIS字符到Unicode字符之间的转换.(98系统不支持Unicode)
如果您按照如下方式将字符串常量编码:
"Hello"
那么编译器将从ANIS字符组成该字符串.
如果您按照如下方式声明了字符串:
L"Hello"
那么编译器将使用Unicode字符.
但是您使用MFC的_T宏,如下所示:
_T("Hello")
如果定义了预处理程序符号_Unicode,那么编译器将使用Unicode字符,而如果没有定义该预处理符号,那么编译器将使用ANIS符号.
如果定义了_Unicode,TCHAR将求值为:wchar_t,它是一个16位的Unicode字符.如果没有定义则变为普通古老的char型.