Page 1 sur 1
Problème de compilation C avec GCC sous Linux : warning implicite
Publié : sam. août 31, 2024 10:31 pm
par mehdi2001
Bonjour, GCC 11.2 me sort des 'warning: implicit declaration of function' sur du vieux code C qui marchait avant. Je dois vraiment tout corriger ou y a-t-il un flag pour tolérer ça ?
Re: Problème de compilation C avec GCC sous Linux : warning implicite
Publié : dim. sept. 01, 2024 12:31 am
par le_julien
Non, il faut déclarer tes fonctions. Ces warnings cachent souvent des bugs subtils de passage d'arguments. Utilise -Werror=implicit-function-declaration pour forcer le propre.
Re: Problème de compilation C avec GCC sous Linux : warning implicite
Publié : dim. sept. 01, 2024 1:31 am
par admin_sys_gaming
Je plussoie. On a eu un crash en prod à cause de ça : une fonction appelée sans prototype passait un double au lieu d'un float. Sous x86_64 ça marchait par chance, mais pas sur ARM.
Re: Problème de compilation C avec GCC sous Linux : warning implicite
Publié : dim. sept. 01, 2024 5:31 am
par mehdi2001
Ouch... Bon je vais m'y coller alors. Vous recommandez quoi pour générer les prototypes automatiquement ? J'ai 15k lignes de code legacy.
Re: Problème de compilation C avec GCC sous Linux : warning implicite
Publié : dim. sept. 01, 2024 1:31 pm
par seb_tech
cproto fait bien le job, ou même GCC avec -aux-info (mais c'est moche). Sinon configure ton LSP (clangd/ccls) pour qu'il les affiche directement dans ton éditeur.
Re: Problème de compilation C avec GCC sous Linux : warning implicite
Publié : dim. sept. 01, 2024 4:31 pm
par mehdi2001
Merci pour les tips, je teste ça demain avec cproto !