程序运行时间
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://convoy.blog.51cto.com/134374/75933 |
天突然想到程序的效率问题,于是想知道程序运行的时间(类似做acm时程序的时间) 于是我咨询了daxiong 把我的方法告诉大家,一起探讨 用到了windows的API函数,所以要包含windows.h 调用函数GetProcessTimes() 函数包括四个参数以此为 进程ID,程序启动时间,程序终止时间,内核时间,用户时间 我们这里要获取的就是用户时间 获得当前进程我们用GetCurrentProcess()函数 四个时间参数类型是FILETIME,传递进去的是变量的地址 输出用户时间的dwLowDateTime,就能看到一个时间 如果你觉得这样太抽象,不好理解,那么可以进行一下类型的转换,调用FileTimeToSystemTime(filetime,systemtime) 而后即可输出运行的小时,分……毫秒 FILETIME f1,f2,f3,f4; SYSTEMTIME s1,s2,s3,s4; GetProcessTimes(GetCurrentProcess(),&f1,&f2,&f3,&f4);//注意传递进取的是地址,有& FileTimeToSystemTime(&f4,&s4);//还是地址,转换时间类型 cout<<f4.dwLowDateTime<<endl;//输出的是64位的地位 cout<<s4.wSecond*1000+s4.wMilliseconds<<endl;//这里我把时间转化成毫秒了 两种时间类型的值是一样的,就是表示形式不一样 我用汉诺塔程序测试过,基本好使 本人能力有限,希望大家能理解 也许说的这些比较简单,希望能给部分初学者带来点启发 本文出自 “blog.convoy.com” 博客,请务必保留此出处http://convoy.blog.51cto.com/134374/75933 本文出自 51CTO.COM技术博客 |


huhang00
博客统计信息
热门文章
最新评论
友情链接