2012-03-30 6 views
3

Ich bin neu in der Verwendung von Benchmarks und Makefiles. Ich habe Dhrystone-Benchmark von dem folgenden Link heruntergeladen und ich versuche, es zu kompilieren, aber ich bin mit seltsamen Fehlern konfrontiert. Ich habe versucht, es zu lösen, aber ich bin erfolglos. Kann mir jemand helfen, den Dhrystone-Benchmark zu führen? Im Folgenden sind die 2 verschiedenen Möglichkeiten, die ich versuchte zu kompilieren. Aber beide geben den gleichen Fehler Ergebnis :(Fehler beim Übersetzen von Dhrystone in Unix

-Link: http://fossies.org/unix/privat/old/dhrystone-2.1.tar.gz/

kompilieren Befehle versucht:

gcc -g dhry.h dhry_1.c dhry_2.c -o dhrystonex 

make all 

Fehler.

gcc -O -DTIMES   -DHZ=60    dhry_1.c dhry_2.c -o gcc_dry2 
dhry_1.c:31:18: warning: conflicting types for built-in function ‘malloc’ [enabled by default] 
dhry_1.c:48:17: error: conflicting types for ‘times’ 
/usr/include/i386-linux-gnu/sys/times.h:49:16: note: previous declaration of ‘times’ was here 
dhry_1.c: In function ‘main’: 
dhry_1.c:98:3: warning: incompatible implicit declaration of built-in function ‘strcpy’ [enabled by default] 
dhry_1.c:124:11: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] 
make: *** [gcc_dry2] Error 1 

Antwort

4

die folgenden Änderungen A-Linie mit einem - bevor es anzeigt, dass Sie eine Linie mit einementfernen solltenbevor es anzeigt, dass Sie hinzufügen sollten. Insgesamt werden ersetzen Sie zwei Linien (indem man sie mit // vorhergehenden) und fügen Sie eine neue Zeile (a #include):

diff -bup orig/dhry_1.c new/dhry_1.c 
    --- orig/dhry_1.c  2012-03-30 11:30:41.984107303 -0700 
    +++ new/dhry_1.c  2012-03-30 11:31:29.256002567 -0700 
    @@ -28,7 +28,7 @@ char   Ch_1_Glob, 
    int    Arr_1_Glob [50]; 
    int    Arr_2_Glob [50] [50]; 

    -extern char  *malloc(); 
    +// extern char  *malloc(); 
    Enumeration  Func_1(); 
     /* forward declaration necessary since Enumeration may not simply be int */ 

    @@ -45,7 +45,7 @@ Enumeration  Func_1(); 

    #ifdef TIMES 
    struct tms  time_info; 
    -extern int  times(); 
    +// extern int  times(); 
            /* see library function "times" */ 
    #define Too_Small_Time (2*HZ) 
            /* Measurements should last at least about 2 seconds */ 
    diff -bup orig/dhry.h new/dhry.h 
    --- orig/dhry.h 2012-03-30 11:30:41.984107303 -0700 
    +++ new/dhry.h 2012-03-30 11:31:29.256002567 -0700 
    @@ -392,6 +392,7 @@ 
    /* General definitions: */ 

    #include <stdio.h> 
    +#include <string.h> 
            /* for strcpy, strcmp */ 

    #define Null 0 
+0

Oh! Wie einfach ist es! Du hast meine Arbeit in Sekunden erledigt. Ich habe immer noch nicht verstanden warum ich so einen einfachen Kompilierungsfehler vermisst habe .. Irgendwie vielen Dank. – bobby

+0

@sreeharivallu: Es ist Zeit, 2 Minuten Ihrer Zeit zu nehmen und Antworten auf Fragen zu akzeptieren, die Ihr Problem gelöst haben (http://i.imgur.com/uqJeW.png) UND andere Antworten, die Ihrer Situation geholfen haben (http: // i.imgur.com/kygEP.png). Viel Glück für jeden. – shellter

Verwandte Themen