TCHAR和_TCHAR是相同的,但由于TCHAR没有前导下划线,因此微软不允许将其保留为关键字(想象一下如果你有一个名为TCHAR的变量。想想会发生什么)。因此,当禁用语言扩展(/ Za)时,TCHAR将不会被#defined。
TCHAR在winnt.h中定义(当你#include <windows.h>时你会得到),以及/ Ze下的tchar.h。
_TCHAR仅在tchar.h中可用(也是#defines _TSCHAR和_TUCHAR)。这些是普通TCHAR数据类型的无符号/有符号变体。
本文探讨了TCHAR和_TCHAR的区别与联系,解释了为什么微软使用_TCHAR而非TCHAR,尤其是在禁用语言扩展时。文章还介绍了这些类型在winnt.h和tchar.h中的定义,以及它们的有符号和无符号变体。
1151

被折叠的 条评论
为什么被折叠?



