加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

理解 LARGE_INTEGER的定义

发布时间:2020-12-14 02:45:26 所属栏目:大数据 来源:网络整理
导读: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 ???


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



============ ================== =========

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读