社区
API
帖子详情
关于GetTickCount的溢出问题
CONGCONG1105
2009-10-29 11:01:55
GetTickCount是以毫秒为单位计算从开机到现在的时间,如果时间长了,超过49.71天就会溢出,溢出以后会怎么样?出错?清零?还是?如果长时间使用的话,该注意哪些问题呢?怎么避免溢出呢?可以人工操作清零吗?
...全文
2430
17
打赏
收藏
关于GetTickCount的溢出问题
GetTickCount是以毫秒为单位计算从开机到现在的时间,如果时间长了,超过49.71天就会溢出,溢出以后会怎么样?出错?清零?还是?如果长时间使用的话,该注意哪些问题呢?怎么避免溢出呢?可以人工操作清零吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
贝隆
2009-10-29
打赏
举报
回复
我也和你有过同样的烦恼,现在是这样处理的,你看看:
http://topic.csdn.net/u/20090904/23/4f67382f-a38e-4315-a7bb-80f5bb3ad574.html
CONGCONG1105
2009-10-29
打赏
举报
回复
http://topic.csdn.net/u/20091028/14/6405c3cc-e5ed-4109-bd30-2ae5c89909c5.html?15484
我想做的是长时间采集数据,并且做到时间上的精确
getemail
2009-10-29
打赏
举报
回复
你管怎么清?
如果把溢出变为不溢出,还清个P
把数据类型都改为double试试
[Quote=引用 5 楼 congcong1105 的回复:]
谢谢,但是没写怎么清零啊
[/Quote]
CONGCONG1105
2009-10-29
打赏
举报
回复
谢谢,但是没写怎么清零啊
getemail
2009-10-29
打赏
举报
回复
看这里,帮你找了老半天
CONGCONG1105
2009-10-29
打赏
举报
回复
怎么清零?
jhone99
2009-10-29
打赏
举报
回复
加一个变量,intDay, 记录天数
满一天GetTickCount清零,intday加1
用GetTickCount、intday共同计算差值
getemail
2009-10-29
打赏
举报
回复
到1天把天数请零不就得了,让它永远到不了那天
CONGCONG1105
2009-10-29
打赏
举报
回复
14楼写的公式可以吗?总感觉,那样也会占用时间,如果收集间隔很小的话也会不精确,实在没有别的办法的话只能这样了。
东方之珠
2009-10-29
打赏
举报
回复
[Quote=引用 13 楼 jhone99 的回复:]
网上有这么一个说法
GetTickCount 函数只有当机器连续使用49.7天后才返回零
由此猜测,lz的溢出是由于GetTickCount归零引起的,如果在使用前加判断应该可以避免溢出
[/Quote]
同意.
chouchou_0723
2009-10-29
打赏
举报
回复
帮顶
CONGCONG1105
2009-10-29
打赏
举报
回复
恩,我用GetTickCount算的是采集间隔,设x为当前的毫秒数,设y为计算时间开始时的毫秒数,设z为两者间隔,
if x>=0 then
z=x-y
else
if y<0 then
z=|x-y|
else
z=|x+y|
end if
目前用的是这种办法。。。
end if
jhone99
2009-10-29
打赏
举报
回复
网上有这么一个说法
GetTickCount 函数只有当机器连续使用49.7天后才返回零
由此猜测,lz的溢出是由于GetTickCount归零引起的,如果在使用前加判断应该可以避免溢出
getemail
2009-10-29
打赏
举报
回复
你的代码怎么做的别人不知道
所以你的问题别人只能给你个思路
怎么处理只有靠你自己
[Quote=引用 11 楼 congcong1105 的回复:]
引用 9 楼 king06 的回复:
记得LZ是说用来采集数据的,也可以不清零,直接在原来的基础上累加.如果怕最终会溢出,另外做个小按钮,"清零",在不采集数据的时候(空闲)处理一下就可以了,定期维护一下.
”在不采集数据的时候(空闲)处理一下就可以了”我想知道的是这个”处理”怎么做,希望高人再详细指点一下
[/Quote]
CONGCONG1105
2009-10-29
打赏
举报
回复
[Quote=引用 9 楼 king06 的回复:]
记得LZ是说用来采集数据的,也可以不清零,直接在原来的基础上累加.如果怕最终会溢出,另外做个小按钮,"清零",在不采集数据的时候(空闲)处理一下就可以了,定期维护一下.
[/Quote]
”在不采集数据的时候(空闲)处理一下就可以了”我想知道的是这个”处理”怎么做,希望高人再详细指点一下
CONGCONG1105
2009-10-29
打赏
举报
回复
osQueryPerformanceCounter 函数时间长了不会溢出吗?
king06
2009-10-29
打赏
举报
回复
记得LZ是说用来采集数据的,也可以不清零,直接在原来的基础上累加.如果怕最终会溢出,另外做个小按钮,"清零",在不采集数据的时候(空闲)处理一下就可以了,定期维护一下.
解决Get
Tick
Count
长期不关机时间
溢出
问题
有些监控等系统需要长期不关机运行,用Get
Tick
Count
获取时间片会出现
溢出
问题
,即连续运行49.71天后这个函数获取出来的值就从0开始,导致系统出现故障。此代码解决了这个
问题
,实际运用正常!
用Get
Tick
Count
API函数写的一个Timer 类[TimerClass1.rar]-精品源代码
用Get
Tick
Count
API函数写的一个Timer 类[TimerClass1.rar]-精品源代码
VB中基于Get
Tick
Count
API函数的闹钟定时器
内容索引:VB源码,系统相关,API,闹钟,定时器 非常简单的闹钟定时器程序,主要是应用到VB中的Get
Tick
Count
API函数,运行截图如上图所示。
易语言取开机用时
易语言取开机用时源码,取开机用时
Windows中如何获取键盘和鼠标处于空闲状态的时间 源代码
Windows中如何获取键盘和鼠标处于空闲状态的时间 源代码
API
1,488
社区成员
23,276
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章