2016-08-15 3 views
0

Ich habe eine harte Zeit herausfinden, was ist falsch mit meinem Code. Der Compiler hält implizite Deklaration der Funktion bekommenIch versuche, clock_t aber Compiler Götter hasse mich

'clock'[ -Wimpliciit-fucntion-declaration] clock_t start = clock(); 

und

'CLOCKS_PER_SEC' undeclared 

Der Code, der auf diese Fehler führt, ist:

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


#define N_TIMES  600000 
#define ARRAY_SIZE 10000 


int main(void) 
{ 
    double *array = calloc(ARRAY_SIZE, sizeof(double)); 
    double sum = 0; 
    int  i; 

    int j; 
    clock_t start = clock(); 

    for (i = 0; i < N_TIMES; i++) { 
     for (j = 0; j < ARRAY_SIZE; j +=4){ 
      sum += array[j]; 
      sum += array[j + 1]; 
      sum += array[j + 2]; 
      sum += array[j + 3]; 
     } 
    } 

    printf ("%.1f seconds\n", (double) (clock() - start)/CLOCKS_PER_SEC); 

    return 0; 
} 

Ich habe alle verwandten Beiträge gelesen und die GNU-Bibliothek aber kann das Problem nicht herausfinden.

+0

'#include ' –

+0

Vielen Dank für die Zeit und Hilfe –

+0

Willkommen bei Stack Overflow. Bitte beachten Sie, dass die bevorzugte Art zu sagen "Danke" hier ist durch Up-Voting gute Fragen und hilfreiche Antworten (sobald Sie genug Ruf zu tun haben), und durch die Annahme der hilfreichsten Antwort auf alle Fragen Sie fragen (Das gibt Ihnen auch einen kleinen Schub für Ihre Ruf). Bitte lesen Sie die [Über] Seite und auch [Wie stelle ich Fragen? hier?] (Http://stackoverflow.com/help/how-to-ask) und [Was mache ich, wenn jemand meine Frage beantwortet ?] (http://stackoverflow.com/help/someone-answers) –

Antwort

1

Sie haben #include die erforderliche Header-Datei für clock vergessen. Fügen Sie in die Datei

#include <time.h> 

hinzu.

CLOCKS_PER_SEC ist auch #define d in der gleichen Datei.

+0

Danke für die Hilfe –

Verwandte Themen