
C++:如何给LARGE_INTEGER对象赋值?以及从该对象中获取不大的整数?
RT!在线等,求助!此联合的定义如下:typedefunion_LARGE_INTEGER{struct{DWORDLowPart;LONGHighPart;}DUMMY...
RT!在线等,求助!
此联合的定义如下:
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
} DUMMYSTRUCTNAME;
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER; 展开
此联合的定义如下:
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
} DUMMYSTRUCTNAME;
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER; 展开
1个回答
展开全部
LARGE_INTEGER.QuadPart 就得到一个 LONGLONG类型的整数了啊
其高位为 LARGE_INTEGER.HighPart
低位为LARGE_INTEGER.LowPart
其实LARGE_INTEGER现在来看也并没有多大, 表示范围等于long long 和 __int64.
其高位为 LARGE_INTEGER.HighPart
低位为LARGE_INTEGER.LowPart
其实LARGE_INTEGER现在来看也并没有多大, 表示范围等于long long 和 __int64.
更多追问追答
追问
请分别详解DUMMYSTRUCTNAME、u、QuadPart的具体含义
追答
其实并没有什么好解释的,这里面有好多历史性的原因。
很早以前就有这个union了,以前也没有匿名struct的概念。
以前得这样访问高位 LARGE_INTEGER.u.HighPart
中间多了个u,这会很麻烦,后面有了匿名struct的概念,就可以直接 LARGE_INTEGER.HighPart
这样访问了,但为了向前兼容,微软不能把u去掉,因为有代码还有它。
DUMMYSTRUCTNAME 宏其实是空的,就是用来定义匿名结构体的。
结构体的定义我想没什么好说的,你应该明白。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询