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 :

Option compilation g++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut Option compilation g++
    Bonjour,

    Je souhaitais savoir quelles étaient vos options favorites, celles que vous jugez indispensables ou au contraire désuètes, celles que vous utilisez tous les jours au boulot.

    Pour l'instant je compile avec ces options:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -Wall -Wextra -std=c++98 -pedantic
    J'hésite à utiliser car j'ai pas encore bien regardé à quoi il servait.

    Je précise que j'ai pas mis car pour l'instant je laisse quelques warning que je corrigerai plus tard.

    Voilà, j’attends vos commentaires.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    -g
    ou
    -O2
    et dans la même veine :
    -DNDEBUG
    Après, pour les bibliothèque
    -fPIC -shared
    et je suis passer à
    -std=c++11
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    OK, intéressant.
    Tu ne tiens donc pas compte des warnings?
    Et pourquoi choisir l'optimisation "-O2" plutôt que "-O3" qui il me semble optimise plus tout en n'effectuant pas de tronquage ou d'arrondis?

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Pardon, j'utilise bien sur les -Wall et -Wextra (/W4 sous Visual Studio).

    Le -O3, dans ma tête, il apporte pas tant de gain que ça et il est connu pour apporter des instabilités (trop d'optimisation) (je crois que c'est ce qui est dit dans la doc de Gentoo). Après, -O3 lorsque je suis archi sur que mon code fonctionne, lorsque je le test et lorsque j'ai fait un valgrind parfait. Mais c'est rare que j'ai besoin du -O3.

    Un moment, en C, j'utilisait le -ansi / -pedantic ... mais des fois, ils sont pénibles
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par LinuxUser Voir le message
    OK, intéressant.
    Et pourquoi choisir l'optimisation "-O2" plutôt que "-O3" qui il me semble optimise plus tout en n'effectuant pas de tronquage ou d'arrondis?
    -O3 effectue peu d'optimisation par rapport à -O2.

    En fait, -O3 peut désoptimiser du code - notamment si l'heuristique qui décide quelles fonction doit être inline est un peu trop aggréssif.

    De plus, -O3 est très aggressif sur la détection des invariants de boucle. Cependant, dans un programme multithread, ce qui parait être un invariant local peut être quelque chose - tout sauf un invariant ; gcc peut avoir du mal à détecter ce cas. Des problèmes pointus peuvent se présenter dans ce cas.

    En fait, -O3 peut apporter des problèmes que -O2 n'apporte pas. Il est difficile d'assurer la validité du code avec -03, tandis que l'option -O2 est beaucoup plus testée.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. option compilation xlc
    Par zephyrin dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 02/05/2013, 10h43
  2. Option Compiler en grisé
    Par stigma dans le forum Access
    Réponses: 4
    Dernier message: 08/04/2009, 11h26
  3. option compilation g++
    Par viking1404 dans le forum C++
    Réponses: 7
    Dernier message: 27/01/2009, 10h05
  4. [option compilation]define, comment ca marche?
    Par kacedda dans le forum MFC
    Réponses: 2
    Dernier message: 16/01/2007, 10h30
  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