_T(x) _TEXT(x) L 代表什么?

首先  <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)  

 

你可能感兴趣的:(_T(x) _TEXT(x) L 代表什么?)