首先 <tchar.h>中 #ifdef _UNICODE .... #define __T(x) L ## x //替換 #else /* ndef _UNICODE */ #define __T(x) x //無替換 你可能會問:L ## x 是什麼? 大寫字母L(代表「long」),這將告訴編
首先 <tchar.h>中
#ifdef _UNICODE
....
#define __T(x) L ## x //替換
#else /* ndef _UNICODE */
#define __T(x) x //無替換
你可能會問:L ## x 是什麼?
大寫字母L(代表「long」),這將告訴編譯器該字元串按寬字元保存-即每個字元占用2個位元組;
那麼_T(X) _TEXT 就會根據__T(X)的值來決定最後替換成什麼
<tchar.h>後面有
#define _T(x) __T(x)
#define _TEXT(x) __T(x)