http://bbs.csdn.net/topics/310239341
#if?defined(MIDL_PASS)
typedef?struct?_LARGE_INTEGER?{
#else?//?MIDL_PASS
typedef?union?_LARGE_INTEGER?{
????struct?{
????????DWORD?LowPart;
????????LONG?HighPart;
????};
????}?u;
#endif?//MIDL_PASS
????LONGLONG?QuadPart;
}?LARGE_INTEGER;
怎么理解这个定义 ??
=========================================================
#else?//?MIDL_PASS
typedef?union?_LARGE_INTEGER?{
????struct?{
????????DWORD?LowPart;
????????LONG?HighPart;
????};
????struct?{
????????DWORD?LowPart;
????????LONG?HighPart;
????}?u;
#endif?//MIDL_PASS
}?LARGE_INTEGER;?
假如定义了MIDL_PASS?
// 如果编译器直接支持64位整数可以直接使用QuadPart(64位) ?
}?LARGE_INTEGER;?
没有定义MIDL_PASS
}?LARGE_INTEGER;?
下面说一下这个结构的作用
如果你有编译器直接支持64位整数可以直接使用QuadPart(64位),
否则分别对LowPart(32位)和HighPart(32位)存取,HighPart的最高位为符号位。??
???
??表示数的范围:--3689348814741910324到+4611686018427387903 ??
=====================
=========
还是有点不明白的是
???struct?{
????};//这个是类型声明?好像不合语法
????}?u;?//这里定义变量?也好像不和语法?
???有这样声明和定义的吗?谁来解释下
struct?{
????};//声明了一个无名结构
struct?{
????????DWORD?LowPart;
????????LONG?HighPart;
????}?u;?//这里用刚才的无名结构定义了一个结构变量 u
============
==================
=========