IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Options de compilation


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Par défaut Options de compilation
    Bonjour à tous,
    Je débute la programmation en C++ et ne sachant pas trop si je suis sur le bon forum pour cette question, merci de déplacer le sujet au cas ou.
    Environnement : Qt creator avec mingw Windows 7 64bits.
    J'aimerai que le compilateur me prévienne du moindre warning, par exemple une variable non utilisée, une déclaration de fonction inutile... bref toutes les petites choses qui pourraient aider à prendre de bonnes habitudes.
    Alors si vous avez des liens et/ou conseils je suis preneur.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Typiquement j'utilise -Wall -Wextra -Wwrite-strings, toutefois:
    • Il me semble qu'en C++ -Wwrite-strings est redondant.
    • Certains warnings ne sont affichés que si les optimisations sont activées (-O2 minimum, il me semble).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Par défaut
    merci pour votre réponse, je ne suis pas sure mais il semble que: suivant la doc l'option -Wwrite-strings attire votre attention lorsque vous l'adressez en C l'adresse d'un const char vers un char pas constant (en traduction mot à mot), C'est bien ça ?

    Les options -O2 -Wall -Wextra -ansi -pedantic pour un béotien comme moi sont-elles suffisantes ? j'essaye de débroussailler http://linux.die.net/man/1/g++

    L'option -Wwrite-strings je l'ajoute puisque à un certain moment je vais avoir besoin (dans mon projet de faire appel à des libs en C)

    d'autre suggestions ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Tu as également une option pour traiter les warning comme erreur.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre émérite
    Avatar de mitkl
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 364
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Tu as également une option pour traiter les warning comme erreur.
    -Werror

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Citation Envoyé par polhen Voir le message
    merci pour votre réponse, je ne suis pas sure mais il semble que: suivant la doc l'option -Wwrite-strings attire votre attention lorsque vous l'adressez en C l'adresse d'un const char vers un char pas constant (en traduction mot à mot), C'est bien ça ?
    Oui. En gros, si tu écris char* toto = "toto";, tu auras un warning parce qu'il n'y a pas de const.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre averti
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Oui. En gros, si tu écris char* toto = "toto";, tu auras un warning parce qu'il n'y a pas de const.
    Ah d'accord je pensais que ce drapeau soulevait uniquement un : "Fais attention parce que l’élément que tu appels depuis cette librairie en C est une chaîne constante " ce Drapeau est-il aussi levé en C++ ? si dans une librairie en C j'ai par exemple :

    ..
    const char *THEJeu ="DeusEx"
    ..
    Je ne suis pas sure de comprendre le mécanisme pour récupérer "DeusEx"
    extern const char* Monjeu = &THEJeu; ?

    ou ?

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je ne suis pas 100% sûr, mais il me semble que les chaînes littérales sont déjà const en C++ sans qu'il y ait besoin de préciser -Wwrite-strings.

    Pour ton autre question, exposer des variables globales depuis une bibliothèque n'est pas quelque chose que je recommanderais, indépendamment du type de la variable en question.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [compilateur cc] Options de compilation
    Par gangsoleil dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 26/09/2005, 15h25
  2. Option de compilation gcc : sem.h
    Par Luther13 dans le forum Linux
    Réponses: 8
    Dernier message: 29/12/2004, 12h29
  3. [Compilateur]Option de compil
    Par Guybrush dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/09/2004, 11h22
  4. Réponses: 2
    Dernier message: 15/05/2004, 18h33
  5. Réponses: 2
    Dernier message: 27/02/2004, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo