Le gcc et g++ en charge la version de la norme de c et c++?
Par exemple, quelle version de gcc soutien c99?
Est-il un tableau ou un graphique pour afficher le standard pris en charge statut de la gcc et g++?
Comment gcc et g++ évolué?
Merci~
Il y a une récente question liée à la c++ partie de votre question ici
Cette page peut résumer ce que u besoin. gcc.gnu.org/projects/cxx-status.html
Cette page peut résumer ce que u besoin. gcc.gnu.org/projects/cxx-status.html
OriginalL'auteur sam | 2012-04-05
Vous devez vous connecter pour publier un commentaire.
Très strictement parlant, GCC ne supporte C89, C++98 et C++03, pour sûr, car 4.3.
Soutien pour le C99 est encore incomplète encore, mais une très grande et très utilisable sous-ensemble a été pris en charge par la GCC pour une longue période de temps.
Experiemental C++11 a commencé avec la 4.3, et a été l'amélioration de depuis; il est déjà très utilisable en 4.6.x, et beaucoup plus a été ajouté à 4.7 (si 4.7.0 est un peu instable).
Il y a aussi quelques C11 soutien, mais beaucoup de changements pour C11 nécessitent un appareil de nouvelle bibliothèque C, ce qui n'est pas facilement remplaçable.
OriginalL'auteur Kerrek SB
Vous obtenez le plus large soutien de normes avec la dernière version de 4,7 pour le moment. La norme peut être définie avec le
-std
commutateur. Voici un article qui décrit les valeurs disponibles. Certaines fonctionnalités supplémentaires/comportement différent peut également être activée avec-fpermissive
.Je ne pense pas qu'il existe de telles informations disponibles, et si l'on vous obtiendrez la plupart les mêmes valeurs possibles pour
-std
. Il pense que le dernier ajout a été "c++0x" en 4.3. Les normes et leur mise en œuvre dans GCC sont deux choses différentes. Qu'appelez-vous "support"? Même avec la dernière version de GCC encore ajouté de correctifs pour C++03, et que la norme est de presque 10 ans (pour être pédant, pour la plupart, c'était la même qu'en c++98, donc il est encore plus).Merci~je peux comprendre la différence. Et ce qui est le cas de l'aide -fpermissive?
-fpermissive
permet non standard code à compiler. Il y a plusieurs cas où un code n'est pas la norme, mais le sens de l'il peut encore être compris par le compilateur. Normalement ce code est refusé, mais vous pouvez obtenir plus de règles assouplies avec cette option. La normale de cas d'utilisation, c'est quand vous avez besoin de garder la compatibilité avec le code existant. Par exemple, les deux en phase de recherche de changement (en fait corrigé) peuvent se casser le code existant, mais-fpermissive
appliquera les règles précédentes.OriginalL'auteur Tamás Szelei
Voir http://gcc.gnu.org/projects/cxx0x.html
OriginalL'auteur Ville Voutilainen
Je suppose que ce tableau est utile, aussi:
cppreference compilateur page de support
OriginalL'auteur Ville Voutilainen
Le soutien de détails, consultez le site web de gnu. Je me souviens qu'il y a des dizaines de normes que gcc ne s'applique pas pour le c99.
De toute façon, pour avoir le support c99 dans gcc a juste besoin simple --std=c99 paramètre
OriginalL'auteur Hypeboyz