从Linux到Windows的交叉编译,但Windows终端不会停止? (GCC)

时间:2014-09-24 01:24:50

标签: linux windows ubuntu gcc compilation

快速提问;

我正在使用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中测试时的得分?

谢谢!

0 个答案:

没有答案