typedef unsigned long DWORD;
在这里记录一下DWORD的真实定义的原因是我发现很多WIN32线程函数的返回值是DWORD类型,但是程序中却使用了int型变量存储返回值,有点小疑惑。
实际上各种基本数据类型的占位情况如下:
现在一般都是32位机,所以int和unsigned long实际占位数相同,只是说int表示的数据有符号,而unsigned long没有符号。
但是在存储返回值的时候,由于只是记录这个返回值,不需要对其进行计算,只要占位数相同,不会发生存储截断,应该就可以。所以好多程序使用int型变量来接收返回值应该是没问题的。
但是最好还是使用DWORD类型,第一个原因是出于处女座的严谨性,感觉对于返回值的记录最好和函数原型一致;第二个原因是使用DWORD类型便于在不用位数的机器上做移植。