快速提问;
我正在使用Ubuntu作为我的编码环境,我正在尝试为学校编写Windows程序。
作业说我必须使用系统时钟做一些事情,我决定制定一个快速的基准程序。这是:
#include <stdio.h>
#include <unistd.h>
#include <time.h>
int main () {
int i = 0;
int p = (int) getpid();
int n = 0;
clock_t cstart = clock();
clock_t cend = 0;
for (i=0; i<100000000; i++) {
long f = (((i+9)*99)%4)+(8+i*999);
if (i % p == 0)
printf("i=%d, f=%ld\n", i, f);
}
cend = clock();
printf ("%.3f cpu sec\n", ((double)cend - (double)cstart)* 1.0e-6);
return 0;
}
当我使用mingw32从Ubuntu交叉编译到Windows时,没关系。但是,当我在Windows中运行该程序时,会出现两个问题:
基准测试按预期运行,大约需要5秒钟,但计时器显示需要0.03秒(在我的Ubuntu VM中测试时不会发生这种情况。如果基准测试实时需要5秒,计时器会说5秒很明显,这是一个问题。)
然后,程序完成后,Windows终端将立即关闭。
如何使程序保持打开状态,以便您可以查看超过10毫秒的时间,以及如何使基准测试的运行时间反映出我在Ubuntu中测试时的得分?
谢谢!