为 SetWaitableTimer 设置相对时间时的算术溢出
Arithmetic overflow when setting relative time for SetWaitableTimer
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686289%28v=vs.85%29.aspx
我希望计时器从当前时间开始发出 5 分 5 秒的信号,但是当我将 LARGE_INTEGER 的 QuadPart 设置为 -3050000000 时,变量溢出,当我打印出来时,它显示为1244967296。我应该怎么做才能让它从当前时间发出 5 分 5 秒(或更长时间)的信号?
LARGE_INTEGER li;
li.QuadPart = -3050000000;
printf( "%ldn", li );
按照您的链接链接到的示例:
LARGE_INTEGER li;
li.QuadPart = -3050000000LL;
"LL"使它成为一个长长的文字;没有它,它只是一个int
。
(您可以使用小写的"l",但它们在许多字体中与"1"(一)非常相似。
LARGE_INTEGER alarm_after;
alarm_after.QuadPart = -1 * (seconds * 10000000LL);
printf("Quadpart=%I64xn", alarm_after.Quadpart);
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 'short int'持有的值溢出,但"自动"不会溢出?
- while循环中while循环的时间复杂度是多少
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 大于65535的C++数组[size]引发不一致的溢出
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 在已经使用Git的情况下减少编译时间
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 从文本文件中读取时钟时间和事件时间并进行处理
- 具有未知值时的时间复杂性
- 如何减少花费的时间
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- C++在变量给定的指定时间内关闭电脑
- C++中无符号字符溢出
- rcpp函数中的清理时间很长
- 为 SetWaitableTimer 设置相对时间时的算术溢出