Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/06/2007, à 09:39

yohann

gcc vs g++

En informatique, GCC, abréviation de GNU Compiler Collection, est le compilateur créé par le projet GNU. Il s'agit d'une collection de logiciels libres intégrés capables de compiler divers langages de programmation, dont C, C++, Objective-C, Java, Ada et Fortran.

http://fr.wikipedia.org/wiki/GNU_Compiler_Collection

mais dans la pratique il faut utiliser g++ pour compiler de c++ et gcc ne compile que le c...
wikipedia dit n'imp ou y a t il quelque chose qui m'echappe?

merci


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne

#2 Le 29/06/2007, à 09:56

jtlb

Re : gcc vs g++

gcc est le nom d'un très gros package qui contient Gnu C Compiler (gcc) G++, et compagnie. En fait même ces programmes ne sont que des interfaces qui se contente d'appeler d'autres sous programmes:
    le préprocesseur qui s'occupe des #include #define, etc
    le compilateur proprement dit cc1+ pour le c++ si je ne me trompe pas
    le linker ld a la fin pour coller toutes les sources ensembles pour faire un belle exécutable

note que ce n'est qu'une interface, et comme toute interface tu peut a prioris lui en subtiliser une autre, par exemple, pour compiler un fichier cpp avec gcc tu ajoute "-x c++" a ta ligne de commade commençant par gcc, en fait du pourais même mettre -x c pour du c, le changement d'interface change en fait les valeurs par défauts.
En conclusion je dirais que wikipedia ne raconte pas souvent n'importe quoi mais que tu as raison de te méfier...
voila

j'ajoute mes sources:

-x <langage>             spécifier le langage des fichiers suivants d'entrée
                           Les langages permis sont: c c++ assembler none
                           « none » signifiant d'utiliser le comportement par défaut
                           en tentant d'identifier le langage par l'extension du fichier

ça vient de gcc --help, tout à la fin

Dernière modification par jtlb (Le 29/06/2007, à 10:04)


On n'est jamais à l'abri d'un coup de bol!

Hors ligne

#3 Le 29/06/2007, à 10:20

sbrunner

Re : gcc vs g++

Hello !

sur la page de wikipédia il est écris :

* GCC pour C ;
    * G++ pour C++ ;
    * GCJ pour Java ;
    * GNAT pour Ada ;
    * Gfortran pour Fortran ;
    * GPC pour le Pascal.

big_smile

Edit : GCC est également le nom du projet qui inclut le tout !

CU
Sarge

Dernière modification par sbrunner (Le 29/06/2007, à 10:21)

Hors ligne

#4 Le 29/06/2007, à 10:23

yohann

Re : gcc vs g++

merci,
bon évidement j'ai trop le reflexe de galerer à chercher partout sur le net avant de lire le man!!

mais c'est le coup du -x c++ c'est exactement l'explication qui me permet de comprendre mieux comment ça marche (vite fait g++ est un alias de gcc -x c++).

c'est tout bon, j'avait carresser l'espoir un moment que gcc pouvait reconnaitre la syntaxe et compiler avec le bon compilateur, avec une démarche genre:

ok le fichier ce termine par .cpp, donc y a des chance que ce soit du c++, syntaxe erreur, j'essaye de compiler en c et je sort un warning, mais apparament c'est plutôt stict (ce qui est peux être pas plus mal d'ailleurs).

en tout cas merci, tu répond exactement à la question que je me posais big_smile


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne