C中怎么样算出程序运行过程中所消耗的时间?要精确到毫秒级

xiphiping 2003-05-13 01:37:27
怎么样算出两个时间之间的时间差?如要计算程序运行过程中所消耗的时间,有的时间稍微长一些,达到几秒,几十秒,有的时候有很短,只有毫秒级,该怎么实现?
我使用C编程的
...全文
129 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvcheng606717 2003-05-22
  • 打赏
  • 举报
回复
这个我知道
(别忘了#include <afx.h>)

用getsystemtime()函数
注意将其中的时间类型转换成CTime

例如这是一段获取当前时间的例子:
SYSTEMTIME st;
memset(&st, 0, sizeof(SYSTEMTIME));
GetSystemTime(&st);
CString str;
str.Format("%d-%d-%d %d:%d:%d %d",st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
其中得毫秒数当然可以转化成int类型供你计算之用。
prettynacl 2003-05-22
  • 打赏
  • 举报
回复
如果只是想得到程序运行时间,在linux下用time或gprof命令就可以,
而不用修改程序。
煜知搬砖者 2003-05-22
  • 打赏
  • 举报
回复
那个函数时linux\unix中的,引用格式为:
#include <sys/time.h>


filoyzp 2003-05-22
  • 打赏
  • 举报
回复
#include <time.h>
用clock()算出时间差!想更精确的话可以用for进行N次循环,得出时间在除以N就可以了吧.
ixMind 2003-05-22
  • 打赏
  • 举报
回复
如果只是用于调试,那么可以用vc的IDE提供的profile功能
晨星 2003-05-22
  • 打赏
  • 举报
回复
哦,对不起,我看错了,呵呵。
晨星 2003-05-22
  • 打赏
  • 举报
回复
楼上的楼上:
函数都丢了括号了。^_^
蝎子i软件 2003-05-22
  • 打赏
  • 举报
回复
clock()可以精确到ms级。
programmer200x 2003-05-14
  • 打赏
  • 举报
回复
Ucos里面好像有,但是我没有仔细看。
xiphiping 2003-05-14
  • 打赏
  • 举报
回复
用clock()是可以算出时间差,但是当程序运行快一点的话,就只能得出0.0秒,没办法更精确一点吗?
bigcat00 2003-05-13
  • 打赏
  • 举报
回复
MSDN?楼主用的M$的系统吧?那你要用2K以上的系统才行。
19830711 2003-05-13
  • 打赏
  • 举报
回复
你将来可以达到的
  • 打赏
  • 举报
回复
clock(time_t diff2,time_t diff1)
xiphiping 2003-05-13
  • 打赏
  • 举报
回复
gettimeofday是一个什么函数?编译的时候报错,在MSDN上面也找不到这个函数,拜托,帮到底,怎么样用这个struct timeval?
HostOOP 2003-05-13
  • 打赏
  • 举报
回复
使用gettimeodday() (Unix/Linux下)可以精确到微秒,何况毫秒乎?

struct timeval s,e;
gettimeofday(&s);
....
gettimeofday(&e);

求e、s之间的差值

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧