繁体   English   中英

为什么typedef char CHAR

[英]Why typedef char CHAR

伙计们,快速浏览一下Winnt.h我发现有很多typedef,其中一个是例如char的char。 为什么? 这些typdefs的目的是什么? 为什么不使用已经存在的东西(char,int等)?
谢谢。

win32 API需要与语言无关。 typedef与x86处理器上的实际项目大小相关联。 因此CHAR是char,DWORD是无符号长的......除了C和C ++以外的语言,即使使用不同的内存模型,也可以“插入”API。

WIN32 API也需要与平台无关。 当编译器针对不同的字大小进行调整时,类型也可能会发生变化。

例如,在16位平台上:

typedef WORD unsigned int;
typedef DWORD unsigned long;

在32位平台上:

typedef WORD unsigned short;
typedef DWORD unsigned int;

这个例子,您的里程可能会有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM