服务器运行时间过长宝宝叛变解决方法
对,是GetTickCount()的问题。
我来说明吧:GetTickCount()计算得到的是操作系统到现在为止的运行时间,单位是毫秒数。由于GetTickCount返回的值是DWORD类型。因此,操作系统再运行了49.7天后,这个值就会归0。
1、程序编写中,一般以两次的GetTickCount()这个API函数之差来计算时差的。
2、召唤神兽的叛变时间是十天,召出来以后,系统取gettickcount()+10天*24小时*60分*60秒*1000毫秒作为叛变的最后期限,如果下次取的gettickcount()大于这个期限就会叛变。因此,大家可以算出,系统运行39.7天以后到49.7天,这个期限的计算就会产生溢出,就造成楼主的现象。
解决办法:39天后重启一次。
我来说明吧:GetTickCount()计算得到的是操作系统到现在为止的运行时间,单位是毫秒数。由于GetTickCount返回的值是DWORD类型。因此,操作系统再运行了49.7天后,这个值就会归0。
1、程序编写中,一般以两次的GetTickCount()这个API函数之差来计算时差的。
2、召唤神兽的叛变时间是十天,召出来以后,系统取gettickcount()+10天*24小时*60分*60秒*1000毫秒作为叛变的最后期限,如果下次取的gettickcount()大于这个期限就会叛变。因此,大家可以算出,系统运行39.7天以后到49.7天,这个期限的计算就会产生溢出,就造成楼主的现象。
解决办法:39天后重启一次。
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论