VC 微秒级延时函数
2013-10-08 14:34
756 查看
/******************************************************************** Created: 2006/09/02 FileName: t.c Author: Liu Qi Purpose: 测试微秒级延时 *********************************************************************/ #include <windows.h> #include <time.h> #include <stdio.h> ULONG GetTimeDis(SYSTEMTIME first, SYSTEMTIME second) // { return abs((first.wHour * 3600 * 1000 + first.wMinute * 60 * 1000 + first.wSecond * 1000 + first.wMilliseconds) - (second.wHour * 3600 * 1000 + second.wMinute * 60 * 1000 + second.wSecond * 1000 + second.wMilliseconds)); } void us_Delay(ULONG ulMicroSeconds) { LARGE_INTEGER timeStop; LARGE_INTEGER timeStart; LARGE_INTEGER Freq; LONGLONG ulTimeToWait; if (!QueryPerformanceFrequency( &Freq )) return; QueryPerformanceCounter ( &timeStart ); ulTimeToWait = Freq.QuadPart * ulMicroSeconds / 1000 / 1000; timeStop = timeStart; while((timeStop.QuadPart - timeStart.QuadPart) < ulTimeToWait ) { QueryPerformanceCounter( &timeStop ); } } int main(void) { SYSTEMTIME timeStart, timeEnd; GetLocalTime(&timeStart); us_Delay(1000 * 1000 * 5); //5 second GetLocalTime(&timeEnd); printf("Delay Times = %d MS\n", GetTimeDis(timeStart, timeEnd)); // getchar(); return 0; }
相关文章推荐
- Shell脚本编程的常识
- OCP-1Z0-053-V12.02-392题
- 数据库可疑
- js中页面跳转
- Ruby for Rails 最佳实践十
- So cute are you python 2
- DEDECMS图片集上传图片出错302的解决办法
- jquery $(this).attr $(this).val方法使用介绍
- java回调方法实例详解
- 数据库Sharding的基本思想和切分策略
- Java 反射机制(包括组成、结构、示例说明等内容)
- Ruby for Rails 最佳实践九
- 卡尔曼滤波器
- Tuna项目总结
- dedecms安装完成后登录后台出现空白
- apache服务器使用及配置③ apache虚拟目录
- Oracle执行计划详解
- linux笔试题参考答案
- linux 查询空间大小
- SQL自动创建表和自动插入字段实例