Articles of gcc warning

C avertissement déclaration implicite de la fonction ‘exit’

Ceci est mon avertissement. implicit declaration of function ‘exit’ Comment je peux l’enlever J’utilise le compilateur linux & gcc.

Pourquoi non initialisé au lieu de hors limites?

Dans le code ci-dessous, pourquoi b[9] non initialisé au lieu de définir des limites? #include int main(void) { char b[] = {‘N’, ‘i’, ‘c’, ‘e’, ‘ ‘, ‘y’, ‘o’, ‘u’, ‘!’}; printf(“b[9] = %d\n”, b[9]); return 0; } Appel du compilateur: % gcc -O2 -W -Wall -pedantic -c foo.c foo.c: In function ‘main’: foo.c:6:5: warning: […]

Y a-t-il un moyen d’être averti des fonctions non utilisées?

J’aimerais trouver des fonctions inutilisées dans une base de code – y compris entre les unités de compilation. J’utilise gcc comme compilateur. Voici un exemple: foo.c (supposons foo.h approprié): void foo() { …. } void bar() { …. } main.c : #include #include “foo.h” int main(void) { bar(); return 0; } Dans cet exemple, je […]

Avertissement pédiasortingque gcc: tapez des qualificatifs sur le type de retour de la fonction

Lorsque j’ai compilé mon code C ++ avec GCC 4.3 pour la première fois (après l’avoir compilé avec succès sans avertissements sur 4.1, 4.0, 3.4 avec les options -Wall -Wextra ), j’ai soudainement reçu un tas d’erreurs d’ warning: type qualifiers ignored on function return type . Considérez temp.cpp : class Something { public: const […]

Existe-t-il une option GCC pour avertir de l’écriture de `this-field` au lieu de` this-> field`?

Ce code suivant (contenant un bogue vicieux) est compilé avec GCC sans aucun avertissement. Mais, bien sûr, cela ne fonctionne pas comme prévu par le développeur (moi). #include struct A { bool b; void set(bool b_) { this->b = b_; } bool get() const { return this-b; } // The bug is here: ‘-‘ instead […]

Comstackr et exécuter le programme sans main () dans C

J’essaie de comstackr et d’exécuter le programme suivant sans fonction main() dans C J’ai compilé mon programme en utilisant la commande suivante. gcc -nostartfiles nomain.c Et le compilateur donne un avertissement /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400340 Ok, pas de problème. Ensuite, j’ai exécuté le fichier exécutable (a.out), les deux instructions […]

Comment supprimer les avertissements GCC des en-têtes de bibliothèque?

J’ai un projet qui utilise les bibliothèques log4cxx, boost, etc. dont les en-têtes génèrent de nombreux avertissements (répétitifs). Existe-t-il un moyen de supprimer les avertissements de la bibliothèque include (ie #include ) ou inclut certains chemins? Je voudrais utiliser -Wall et / ou -Wextra comme d’habitude sur le code du projet sans que les informations […]

Comment activer (littéralement) TOUS les avertissements de GCC?

Je voudrais activer – littéralement – tous les avertissements de GCC. (Vous pensez que ce serait facile …) Vous pensez que -Wall pourrait faire l’affaire, mais non! Encore besoin -Wextra . Vous pensez que -Wextra pourrait faire l’affaire, mais non! Tous les avertissements répertoriés ici (par exemple, -Wshadow ) ne sont pas activés par ceci. […]

avertissement: déclaration implicite incompatible de la fonction intégrée ‘xyz’

Je reçois un certain nombre de ces avertissements lors de la compilation de quelques binarys: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatible implicit declaration of built-in function ‘exit’ Pour essayer de résoudre ce problème, j’ai ajouté #include en haut des fichiers C associés à […]

Comment supprimer les avertissements de «parameters non utilisés» dans C?

Par exemple: Bool NullFunc(const struct timespec *when, const char *who) { return TRUE; } En C ++ j’ai pu mettre un commentaire /*…*/ autour des parameters. Mais pas dans C bien sûr, où il me donne l’erreur d’ error: parameter name omitted .