,,C++ LARGE_INTEGER解析与使用案例详解

,,C++ LARGE_INTEGER解析与使用案例详解

本文主要介绍大整数的分析和用例的详细说明。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。

解释这里前面遇到的LARGE_INTEGER结构。与可能的误解不同,64位数据并不一定要在64位操作系统下使用。在VC中,64位数据的类型是__int64。定义是这样写的:

__int64文件偏移量

上面定义的变量被命名为file_offset,因为文件中的偏移量是使用64位数据的常见情况。同时,文件大小也是如此(回想一下上一节中定义的文件大小)。32位数据无符号整数只能表示为4GB。众所周知,现在4GB以上的文件绝对不少见。但实际上type __int64很少用在驱动开发中。基本上用的是一个常用体:LARGE_INTEGER。该公共机构的定义如下:

typedef _ _ int64 LONGLONG

typedef union _LARGE_INTEGER {

结构{

ULONG LowPart

长高音部分;

};

结构{

ULONG LowPart

长高音部分;

} u;

龙龙QuadPart

} LARGE _ INTEGER

这个公共体的方便之处在于,它可以很容易地获得高32位、低32位和整个64位。执行运算和比较时,请使用QuadPart。

LARGE_INTEGER a,b;

a.QuadPart=100

a.QuadPart *=100

b.QuadPart=a . QuadPart

if(b.QuadPart 1000)

{

KdPrint("b.QuadPart 1000,LowPart=%x HighPart=%x ",b.LowPart,b . high part);

}

上面的代码演示了这个结构的一般用法。在实际编程中,大量的参数都是LARGE_INTEGER类型。

在驱动程序的开发中,我们可以使用LONGLONG,表示64位结构的数据。还可以使用一个名为LARGE_INTEGER的数据结构来表示64位数据。其定义如下

typedef union _LARGE_INTEGER {

结构{

ULONG LowPart

长高音部分;

} DUMMYSTRUCTNAME

结构{

ULONG LowPart

长高音部分;

} u;

# endif//MIDL _通行证

龙龙QuadPart

} LARGE _ INTEGER

LARGE_INTEGER是一个财团。设计很巧妙。联合体中的三个元素可以认为是LARGE_INTEGER的三个定义。

(1)DUMMYSTRUCTNAME由两部分组成。一个是低阶32位整数LowPart。另一个是高阶整数。在小端的情况下。首先是低32位。高32位在后面。

如果给这个64位整数赋值100,可以这样写

LARGE_INTEGER值;

价值。LowPart=100

价值。high part=0;

(2)u由两部分组成。一个是低阶32位整数LowPart。另一个是高阶整数。在大端的情况下。前32位数字在前。低32位在后面。

如果给这个64位整数赋值100,可以这样写

LARGE_INTEGER值;

value . u . low part=100;

value . u . high part=0;

(3)当LARGE_INTEGER等价于LONGLONG时。如果给这个64位整数赋值100,可以这样写

LARGE_INTEGER值;

价值。QuadPart=100

关于large _ integer的分析和用例的这篇文章到此为止。有关large _ integer的分析和使用的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: