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 :

compilateur (C++) g++


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 86
    Par défaut compilateur (C++) g++
    Bonjour,

    Comment peut on forcer le compilateur(C++) g++ a compiler comme un compilateur C en utilisant "command-line flag" ?

    Merci en avance

  2. #2
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    en l'appelant avec gcc plutôt que g++ ?

  3. #3
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    ouai gcc, mais si tu compiles du C++ ça va faire vilain :').

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    En fait, gcc lui-même n'est qu'un outil qui permet de distribuer la tache aux différents compilateur:
    • cc1 pour C
    • g++ pour C++
    • gnat(quelque chose) pour ada
    • gfortran pour ... fortran (qui l'eu cru )
    • ...
    Normalement, il est capable de déterminer quel compilateur il faudra réellement appeler, mais tu peux lui indiquer explicitement le langage utilisé avec l'option -x (tu peux faire un tour sur http://gcc.gnu.org/onlinedocs/gcc/Ov...verall-Options pour en savoir plus )

    Il y a cependant une restriction à la compilation de C++ en invoquant gcc au lieu de c++:

    La bibliothèque libstdc++.a n'est pas automatiquement utilisée lors de l'édition de liens, et le chemin vers les en-têtes C++ n'est parfois pas défini.

    Tu devra donc invoquer gcc en indiquant (certainement) qu'il faut exéctuer l'édition de lien avec stdc++ et (dépendant de l'endroit où se trouvent les en-tête C++) éventuellement le chemin d'accès vers les en-tête C++, voire, le chemin d'accès à libstdc++.a sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gcc monfichier.cpp -IcheminVersEnTeteC++ -lstdc++ -LcheminVersLibStdC++
    /* ou (si l'extension du fichier n'est pas reconnue comme extension C++) */
    gcc -x c++ monfichierSansExtension -IcheminVersEnTeteC++ -lstdc++
    G++, de son coté, ajoute automatiquement libstdc++ à l'édition de liens et devrait normalement connaitre le chemin vers les en-têtes

    Il faut enfin noter que, si g++ rencontre un fichier C, il pourra le compiler (après tout: il y a un sous ensemble commun), mais il le fera en... C++.

    Ainsi un simple int *ptr=malloc(sizeof(int)* 15); sera accepté par gcc (edit: en fait, par CC1) et refusé par g++

    Si donc tu as des des fichiers C à compiler ... en C et des fichiers C++ à compiler en C++, l'idéal est de travailler avec gcc et non g++, et de rajouter le flag -l (et éventuellement le flag -I) à ta règle de compilation des fichiers C++
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. [langage]Compilateur PERL
    Par major2 dans le forum Langage
    Réponses: 4
    Dernier message: 07/02/2007, 21h52
  2. exptression booléenne et compilateur Delphi
    Par jakouz dans le forum EDI
    Réponses: 3
    Dernier message: 24/09/2002, 13h25
  3. Compilateur - editeur C++ pour Linux
    Par Torpedox dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 15/09/2002, 02h16
  4. Newbie......compilateur et table de caractères
    Par Cyberf dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 21/08/2002, 14h29
  5. Compilateur natif ??? Kesako ???
    Par Riko dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 06/08/2002, 08h54

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