关于windows下的时间函数
来源:互联网 发布:江苏电信网络提速 编辑:程序博客网 时间:2024/05/18 12:40
最近开始上班,公司要求实现windows下的ping测试功能,需要得到ping目标主机时的RTT、JITTER等数据信息,于是从网上down了一段源代码,运行后发现跟windows cmd下运行的ping命令有较大的差别,主要是RTT不准确,出现大量的0 (ms),研究代码后发现求RTT调用的是API函数GetTickCount(),msdn中介绍该函数时说返回的数据为毫秒级,但是却有10-16(ms)的误差,即当运行前后的时间差小于16(ms)时,GetTickCount() API将不能返回正确的结果,两次调用返回的结果是一样的!做差运算后RTT可不就是0(ms)了。
于是在网上搜索相关的帖子,最后终于在一帖子中找到了解决办法;即放弃GetTickCount(),而使用QueryPerformanceFrequence()和QueryPerformanceCount() API,他们分别是返回CPU频率(每秒跳动的次数)和从开机到现在CPU所跳动的次数,这样就能知道执行前后CPU跳动的次数,并除于CPU频率(浮点数除法)再乘上1000就能得到精确的毫秒级时间差,误差为微秒级的!
windows下同样返回毫秒数的API还有timeGettime、和timeGetSystemtime,他们同样也有精度问题,当需要计算代码执行前后的精确毫秒级时间差时最好不要使用他们!
- 关于windows下的时间函数
- windows下统计时间的函数
- windows 下获取时间函数
- Windows下时间函数总结
- Windows下时间测试函数
- Windows系统下获取一段函数执行的时间
- 扩展windows下julia语言的时间串处理函数
- 关于时间的函数
- 关于Windows下USB函数SetupDiEnumDeviceInfo()与SetupDiEnumDeviceInterfaces()的心得
- 关于windows下创建线程 CreateThread函数的用法
- windows下的时间计时器
- Delphi关于时间的函数
- php关于时间的函数
- 几个 关于时间 的函数
- 关于tc的时间函数
- 关于linux系统下CST时间的修改以及对MB中关于CURRENT_TIMESTAMP函数
- js下的时间函数
- linux 下的时间函数
- 游戏开发高级技术
- 赢在校园 入学必读
- 三星s3650c 下载文件时 无现存内容
- haskell如何处理中文字符?
- ghc-6.10.3和gtk2hs-0.10.1-win32安装包
- 关于windows下的时间函数
- 生活就是像网页布局
- 姓名学中五格的算法与吉凶
- 裸机系列——DMA寄存器
- WaitForSingleObject的用法
- 从10个方面分析评价Linux和WinCE的优缺点
- hibernate注解大全
- 不以物喜,不以己悲(来自baidu)
- 解决dede上传图像对话框打不开的问题