这将显示多少秒:
#include <iostream>
#include <time.h>
using namespace std;
int main(void)
{
int times,timed;
times=time(NULL);
//CODE HERE
timed=time(NULL);
times=timed-times;
cout << "time from start to end" << times;
}
这将显示多少个刻度:
#include <iostream>
#include <time.h>
using namespace std;
int main(void)
{
int times,timed;
times=clock();
//CODE HERE
timed=clock();
times=timed-times;
cout << "ticks from start to end" << times;
}
我如何获得毫秒?
答案 0 :(得分:13)
请参阅Stack Overflow上的问题“Convert Difference between 2 times into Milliseconds”。
或者使用它:
static double diffclock(clock_t clock1,clock_t clock2)
{
double diffticks=clock1-clock2;
double diffms=(diffticks)/(CLOCKS_PER_SEC/1000);
return diffms;
}
答案 1 :(得分:6)
如果您使用Unix操作系统,如Linux或Mac OS X,您可以转到命令行并使用
行time call-program
time命令会计算任何命令行的执行时间,并向您报告。
我不知道是否有类似于Windows的内容,也不知道如何在C / C ++程序中测量毫秒数。
答案 2 :(得分:3)
有一个CLOCKS_PER_SEC
宏来帮助您将刻度转换为毫秒。
有特定于O / S的API可以获得高分辨率的计时器。
您可以多次运行您的程序(例如1000次)并使用低分辨率计时器(例如几秒钟)测量它,然后将该总计除以您运行它的次数以获得(更高分辨率)平均时间。
答案 3 :(得分:2)
在Windows中,您可以使用GetTickCount,以毫秒为单位。
答案 4 :(得分:1)
在Win32下,您可以使用QueryPerformanceFrequency和QueryPerformanceCounter访问高分辨率计时器(应该首选IMHO,可能需要回退到GetTickCount
)。您可以在MSDN上的社区内容部分找到该示例。
答案 5 :(得分:0)
这将显示多少滴答声:
#include <iostream> #include <time.h> using namespace std; int main(void) { int times,timed; times=clock(); //CODE HERE timed=clock(); times=timed-times; cout << "ticks from start to end" << times; }
如何获取毫秒?
clock()
返回毫秒。编译该代码,它将返回1000。当然,如果您在Linux而非Windows上将#include <windows.h>
替换为#include <unistd.h>
,并将Sleep(1000)
替换为usleep(1000000)
。
#include <stdio.h>
#include <time.h>
#include <windows.h>
int main()
{
unsigned long x = clock();
Sleep(1000);
printf("Difference: %d", clock() - x);
}