即使在包含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
我也尝试过没有标准选项。但它没有改变。
答案 0 :(得分:0)
正确的常量是CLOCKS_PER_SEC
。
同样在c ++中,正确的标题名称为:
#include <cstdio>
#include <cstdlib>
#include <ctime>
(大多数实现都没关系,但它是标准所说的必须包含的内容)