windows 的数据类型
1. Visual C/C++ 数据类型
Visual c/c++ 支持下列几个integer类型:
∙__int8
∙__int16
∙__int32
∙__int64
它们分别对应于 ANSI C的:
∙char
∙short
∙int
∙long long
Visual C/C++ 支持bool类型,并且增加了:
∙wchat_t(或者_wchat_t)
这个类型2 bytes宽,用来表示wide-character 或者multibyte character,在字符前加上前缀L来表示wide-character,如:
∙'a' --- ANSI character
∙L'a' --- wide character
上面分别是字符'a' 的ANSI 版本和wide 版本,wchar_t的意义
是unsigned short
对于每个integer 类型都分别有signed和 unsigned版本,缺省情况下是 signed 的
在VC头文件 limits.h里定义了integer类型的limit 值:
2. windows 上的数据类型
windows 自定义了一系列的数据类型,可以说是琳琅满目,甚至可以说混乱
在MSND 里有一篇介绍windows 上定义的数据类型:
msdn.microsoft/en-us/library/aa383751(v=VS.85).aspx
2.1 基本数据类型
unicode文件格式上表所示,对一个类型进行明确的定位,分为 32/64版本以及signed/unsinged版本。它们固定了精度。
2.2 为UNICODE 准备的数据类型
TBYTE 和TCHAR类型在WinNT.h的实际定义为:
#ifdef UNICODE
#ifndef _TCHAR_DEFINED
typedef WCHAR TCHAR, *PTCHAR;
typedef WCHAR TBYTE , *PTBYTE ;
#define _TCHAR_DEFINED
#endif
#else
#ifndef _TCHAR_DEFINED
typedef char TCHAR, *PTCHAR;
typedef unsigned char TBYTE , *PTBYTE ;
#define _TCHAR_DEFINED
#endif
#endif /* UNICODE */
如果定义了UNICODE 的话,TCHAR 和TBYTE 就是WCHAR 类型,否则它们是char/unsigned char类型。
因此:TCHAR和 TBYTE 是中立的字符类型,依赖于UNICODE 是否定义。
2.3 指针精度
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论