“即使在包含<time.h>之后,'在此范围内未声明'CLOCK_PER_SEC'”错误

时间:2018-06-09 16:23:35

标签: c++

即使在包含time.h之后,我也在“此范围内未声明''CLOCK_PER_SEC'”错误。 我是c ++的新手,所以这与简单的错误有关,但我遗憾地想不出来。请帮帮我。

#include <stdio.h>
#include <stdlib.h>

#include <time.h>


#define SIZE 1024*1024*1
#define REPEAT 10

using namespace std;

....... 

int main()
{

    const int n = SIZE;


    int* arr = (int*)malloc(n * sizeof(int));
    for (int i = 0; i < n; i++)
    {       
        arr[i] = n - i;
    }


    double totalSeiralTime = 0;
    clock_t clock_s, clock_e;
    for(int i = 0; i < REPEAT ; i++)
    {
        clock_s = clock();

        radixsort(arr, n);

        clock_e = clock();
        double cpu_time_used = ((double)(clock_e-clock_s))/CLOCK_PER_SEC; 
        printf("gpu parallel time : %f\n", cpu_time_used);  
        totalSeiralTime += cpu_time_used;
    }
    printf("cpu serial time mean : %f\n", totalSeiralTime / REPEAT);
  return 0;

}

我如何编译

gcc -std=c++11 ./cpuRadix.cpp -o ./cpuRadix.out
./cpuRadix.out

我也尝试过没有标准选项。但它没有改变。

1 个答案:

答案 0 :(得分:0)

正确的常量是CLOCKS_PER_SEC

同样在c ++中,正确的标题名称为:

#include <cstdio>
#include <cstdlib>
#include <ctime>

(大多数实现都没关系,但它是标准所说的必须包含的内容)