<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型.