3 votes

Erreurs lors de la compilation de dhrystone sous unix

Je suis nouveau dans l'utilisation des benchmarks et des makefiles. J'ai téléchargé le benchmark Dhrystone à partir du lien ci-dessous et j'essaie de le compiler, mais je rencontre des erreurs étranges. J'ai essayé de le résoudre, mais je n'y suis pas parvenu. Quelqu'un peut-il m'aider à exécuter le benchmark dhrystone ? Voici les 2 façons différentes dont j'ai essayé de compiler. Mais les deux donnent le même résultat d'erreur :(

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

commandes de compilation essayées :

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

4voto

David Schwartz Points 70129

Apportez les modifications suivantes. Une ligne avec un - avant qu'il n'en indique un que vous devez retirer. Une ligne avec un + avant qu'il n'indique celui que vous devez ajouter. Au total, vous allez remplacer deux lignes (en les faisant précéder de // ) et ajouter une nouvelle ligne (une #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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X