较旧的编译器不支持64位类型.因此,该结构将64位值分成两个32位部分.低部分包含最低有效32位.高部分包含最重要的32位.
因此,如果您有两个32位部分,则相应的64位值为
low + 2^32 * high
Run Code Online (Sandbox Code Playgroud)
官方提到的从两个32位部分获得64位值的方法是通过ULARGE_INTEGERunion.
从FILETIME文档:
建议您不要在FILETIME结构中添加和减去值以获得相对时间.相反,您应该将文件时间的低位和高位部分复制到ULARGE_INTEGER结构,对QuadPart成员执行64位算术运算,并将LowPart和HighPart成员复制到FILETIME结构中.
不要将指向FILETIME结构的指针强制转换为ULARGE_INTEGER*或__int64*值,因为它可能导致64位Windows上的对齐错误.
| 归档时间: |
|
| 查看次数: |
3364 次 |
| 最近记录: |