Bonjour,
j'ai un petit problèmes avec un code source et je ne trouve nulle part d'explications, peut-être quelqu'un ici en saura plus que moi.
Voici deux compilations d'un même fichier source :
$ gcc -Wall -W -Wmissing-prototypes -pedantic test.c -o test
$ gcc -Wall -W -Wmissing-prototypes -pedantic --std=c99 test.c -o test
test.c: Dans la fonction « change_addr »:
test.c:15: error: storage size of `ifr' isn't known
test.c:27: attention : implicit declaration of function `inet_aton'
Comme vous pouvez le voire, si on spécifie l'ISO C99 des erreurs se produisent. Elle concerne la fonction inet_aton et une structure ifreq définie dans <net/if.h>.
Je ne comprend pas pourquoi.
# source de test.c ?
Posté par Jean Bréfort (site web personnel) . Évalué à 2.
Il serait plus facile de t'aider si tu publiais le contenu de test.c
# warnings
Posté par JaguarWan . Évalué à 3.
Généralement, le warning "storage size of XXX isn't known" apparaît quand on manipule un (void *) ou un type incomplet.
Or la définition de la structure ifreq est entre #ifdef __USE_MISC dans le header, donc elle n'est pas déclarée. Idem pour inet_aton(), qui est une fonction BSD.
Essayes donc d'ajouter -D_BSD_SOURCE à tes CFLAGS.
[^] # Re: warnings
Posté par Édouard Geuten (site web personnel) . Évalué à 2.
Par contre ca foire a nouveaux sur des fonctions qui utilisent getopt.
Y'a une liste des use flags qu'il est bon d'utiliser ?
[^] # Re: warnings
Posté par Krunch (site web personnel) . Évalué à 2.
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf(...) (la final draft d'ISO C99)
http://www.opengroup.org/bookstore/catalog/un.htm(...) (Single UNIX Specification)
(c'est pour le cours de Piater ?)
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: warnings
Posté par Édouard Geuten (site web personnel) . Évalué à 2.
non c'est pas pour le cours de piater, mais ce cours m'a fait me rendre compte que le c99 c bien pratique parfois (et plus propre, et et et ...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.