2012-03-30 3 views
3

Je suis nouveau dans l'utilisation de benchmarks et de makefiles. J'ai téléchargé Dhrystone benchmark à partir du lien ci-dessous et j'essaie de le compiler, mais je suis confronté à des erreurs étranges. J'ai essayé de le résoudre, mais je n'ai pas réussi. Quelqu'un peut-il m'aider à gérer le benchmark dhrystone? Voici les 2 différentes façons que j'ai essayé de compiler. Mais les deux sont de donner la même erreur résultat :(Erreurs lors de la compilation de dhrystone sous unix

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

compilez les commandes ont essayé:

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

make all 

erreur:.

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 

Répondre

4

Effectuez les modifications suivantes Une ligne avec un - avant qu'il en indique un que vous devez supprimer.avant qu'il indique celui que vous devriez ajouter. Au total, vous remplacerez deux lignes (en les faisant précéder //) et ajouter une nouvelle ligne (un #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! Comme c'est simple! vous avez fait mon travail en quelques secondes. Je n'ai toujours pas compris Pourquoi j'ai raté une telle compilation d'erreurs simples. – bobby

+0

@sreeharivallu: Il est temps de prendre 2 minutes de votre temps et d'accepter les réponses aux questions qui ont résolu votre problème (http://i.imgur.com/uqJeW.png) ET votez pour d'autres réponses qui ont aidé votre situation (http: // i.imgur.com/kygEP.png). Bonne chance à tous. – shellter

Questions connexes