Problème de compilation C avec GCC sous Linux : warning implicite
Problème de compilation C avec GCC sous Linux : warning implicite
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
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.
-
admin_sys_gaming
- Messages : 571
- Inscription : sam. janv. 20, 2024 7:24 pm
Re: Problème de compilation C avec GCC sous Linux : warning implicite
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
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
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
Merci pour les tips, je teste ça demain avec cproto !