[ C ] Liste d'arguments variables sous RedHat

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

[ C ] Liste d'arguments variables sous RedHat

Messagepar Elise78 » 21 Sep 2004 15:39

Bonjour, vous qui venez comprendre mon probleme 8)

Je suis en train de faire une phase de tests de migration et de portage d'UNIX SCO vers Red Hat Enterprise. Et bien entendu j'ai des erreurs à la compilation de mes .pc. Parmi les nombreuses erreurs j'ai :

Code: Tout sélectionner
trace.c:125: number of arguments doesn't match prototype
Ce qui correspond dans le fichier trace.c à :
Code: Tout sélectionner
...
121 void trace_ecrire (p_nom_fonction, s_niveau, p_format, va_alist)
122 char  *p_nom_fonction;
123 short s_niveau;
124 char  *p_format;
125 va_dcl
126 {
127        static char ...
qui va apparemment avec
Code: Tout sélectionner
#include <varargs.h>
dans le fichier trace.h j'ai ceci qui me pose aussi probleme :
Code: Tout sélectionner
void trace_ecrire       (char*, short, char*, ...);

Si quelqu'un pouvait m'expliquer comment retablir ca et a quoi ca sert, ce serait hyper sympa. Merci d'avance.
Cordialement,
Melle Elise78
Welcome to Elise's World
Avatar de l’utilisateur
Elise78
Premier-Maître
Premier-Maître
 
Messages: 56
Inscrit le: 18 Mai 2004 18:08
Localisation: Rhone Alpes

Re: [ C ] Liste d'arguments variables sous RedHat

Messagepar arapaho » 21 Sep 2004 16:33

Regarde si tous les point-virgules ( ; ) sont bien disposés. Ce type d'erreur arrive souvent. Je n'ai pas le code sous les yeux mais la ligne 121 ne devrait-elle pas se terminer par un ; justement ?
Bonne continuation :)
No One Will Ever Need More Than 640K Ram - Bill Gates, 1981
Avatar de l’utilisateur
arapaho
Amiral
Amiral
 
Messages: 1119
Inscrit le: 18 Avr 2002 00:00
Localisation: Genève

Messagepar nemesis » 21 Sep 2004 16:51

Bha si elle devrait a priori se terminer par un ; :D

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar Zaknafein » 21 Sep 2004 17:18

Non il ne manque pas de ; a la ligne 121 ni a la fin de va_dcl

Ceci est une "vielle" forme d'implémentation des fonctions à paramètres variables.

Tout dépend du compilateur que tu utilises et s'il supporte encore ou non ce format.

Ces macros ( va_dcl, va_alist, ... ) ont été remplacés par celle de "stdarg.h".
Je suis pas sur qu'elles soient compatible entre elles ("varargs.h" et "stdarg.h").
Mais le compilateur connaitra celle de "stdarg.h" vu que c'est de l'ANSI C.
Zaknafein
Matelot
Matelot
 
Messages: 1
Inscrit le: 21 Sep 2004 16:57


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité