GCC

Logiciel capture d'écran:
GCC
Détails logiciels:
Version: 8.2.0 Mise à jour
Date de transfert: 16 Aug 18
Développeur: The GCC Team
Licence: Gratuit
Popularité: 108

Rating: 3.0/5 (Total Votes: 3)

GCC (GNU Compiler Collection) est un logiciel de ligne de commande open source conçu pour servir de compilateur pour les systèmes d'exploitation basés sur GNU / Linux et BSD. Il comprend des interfaces pour de nombreux langages de programmation, notamment Objective-C, Go, C ++, Java, C, Ada et Fortran.


Caractéristiques en un coup d'oeil

Avec GCC, vous pouvez configurer, compiler et installer des applications GNU / Linux dans des systèmes d’exploitation Linux ou BSD en utilisant uniquement les archives source du programme respectif. Cependant, les utilisateurs n'ont pas besoin d'interagir avec le compilateur, car cela est fait automatiquement par les scripts configure et make.

Le projet comprend également des bibliothèques pour divers langages de programmation, tels que libstdc et libgcj, et, comme la plupart des logiciels GNU, il doit être configuré avant de pouvoir être créé et installé sur votre ordinateur.

Il peut également afficher le chemin complet vers une bibliothèque spécifique, les dossiers du chemin de recherche du compilateur, le chemin d'accès complet à un composant spécifique, le répertoire des bibliothèques cibles, le suffixe sysroot utilisé pour rechercher les en-têtes et le triplet GNU normalisé. p>

En outre, il existe diverses autres options pour transmettre certaines options et certains arguments séparés par des virgules à l’assembleur, au préprocesseur et au lieur, compiler et assembler sans liaison, créer une bibliothèque partagée et bien d’autres.


Conçu pour le système d'exploitation GNU

Ecrit initialement comme le compilateur principal du système d’exploitation GNU, GCC (GNU Compiler Collection) a été développé pour être 100% gratuit et il est installé par défaut sur toute distribution Linux.

Le logiciel est également utilisé par les développeurs Open Source pour compiler leurs programmes. La ligne de commande comporte plusieurs options, parmi lesquelles la possibilité d’afficher le processeur cible du compilateur, ainsi que le chemin relatif vers les bibliothèques du système d’exploitation.


Ligne de fond

Dans l’ensemble, GCC est l’un des composants les plus essentiels de tout système d’exploitation GNU / Linux. Non seulement nous ne pouvons même pas imaginer un monde sans lui, mais GCC est la raison principale de l’ensemble de l’écosystème Open Source.

Nouveautés dans cette version:

  • GCC 7.3 est une version de correction de bogue de la branche GCC 7 contenant des correctifs importants pour les régressions et les bogues graves dans GCC 7.2 avec plus de 99 bogues corrigés depuis la version précédente.
  • Cette version inclut des options de génération de code pour atténuer la variante de spectre 2 (CVE 2017-5715) pour les cibles x86 et powerpc.

Nouveautés dans la version 8.1.0:

  • GCC 7.3 est une version GCC 7 branche contenant des correctifs importants pour les régressions et les bogues graves dans GCC 7.2 avec plus de 99 bogues corrigés depuis la version précédente.
  • Cette version inclut des options de génération de code pour atténuer la variante de spectre 2 (CVE 2017-5715) pour les cibles x86 et powerpc.

Nouveautés dans la version:

  • GCC 7.1 est une version majeure contenant de nouvelles fonctionnalités substantielles non disponibles dans GCC 6.x ou les versions précédentes de GCC. Le frontend C ++ supporte maintenant tous les brouillons C ++ 17 actuels, avec les options -std = c ++ 1z et -std = gnu ++ 1z, et la librairie libstdc ++ contient la plupart des brouillons C ++ 17. fonctionnalités de bibliothèque implémentées aussi. Cette version présente diverses améliorations dans les diagnostics émis, notamment des emplacements améliorés, des plages d'emplacement, des suggestions pour les identificateurs mal orthographiés, des noms d'option, des conseils de réparation et divers nouveaux avertissements ont été ajoutés. Les optimiseurs ont été améliorés, avec des améliorations apparaissant dans toutes les optimisations intra- et inter-procédures, les optimisations de temps de liaison et les différents backends cibles, y compris, mais sans s'y limiter, les ajouts de magasins, l'optimisation du levage de code, le fractionnement améliorations d'emballage. Le programme d’assainissement des adresses peut désormais signaler les utilisations de variables après avoir quitté leur périmètre. GCC peut maintenant être configuré pour le déchargement OpenMP 4.5 vers les GPGPU NVidia PTX.

Nouveautés dans la version 6.3.0:

  • GCC 6.3 est une version de correction de bogues de la branche GCC 6 contenant des correctifs importants pour les régressions et les bogues graves dans GCC 6.2 avec plus de 79 bogues corrigés depuis la version précédente.

Nouveautés dans la version 6.2.0:

  • Cette version est une version de correction de bogue, contenant des correctifs pour les régressions de GCC 5.2 par rapport aux versions précédentes de GCC.

Nouveautés dans la version 6.1.0:

  • Cette version est une version de correction de bogue, contenant des correctifs pour les régressions de GCC 5.2 par rapport aux versions précédentes de GCC.

Nouveautés dans la version 5.3.0:

  • Cette version est une version de correction de bogue, contenant des correctifs pour les régressions de GCC 5.2 par rapport aux versions précédentes de GCC.

Nouveautés dans la version 5.2.0:

  • Cette version est une version de correction de bogue, contenant des correctifs pour les régressions dans GCC 5.1 par rapport aux versions précédentes de GCC.

Nouveautés dans la version 5.1.0:

  • Le frontal C ++ est désormais entièrement compatible avec C ++ 14 et la bibliothèque C ++ standard prend entièrement en charge C ++ 11 et le support C ++ 14 expérimental complet. Le support complet de C ++ 11 a été rendu possible en adoptant Dual ABI, voir https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html pour plus de détails.
  • Le frontal C passe maintenant par défaut en mode C11 avec les extensions GNU, ce qui affecte la sémantique du mot-clé en ligne et apporte plusieurs autres modifications visibles à l'utilisateur, voir https://gcc.gnu.org/gcc-5/porting_to.html pour plus de détails.
  • GCC 5.1 contient diverses améliorations d’optimisation interprocédurale, par ex. une nouvelle passe pliable à code IPA et diverses améliorations du LTO, par ex. La fusion des types C ++ basée sur les ODR, voir http://hubicka.blogspot.cz/2015/04/GCC5-IPA-LTO-news.html pour plus de détails.
  • L'allocateur de registre local GCC 5.1 contient maintenant un sous-passage de rematérialisation, sur i? 86 / x86-64 est capable de réutiliser le registre rigide PIC pour améliorer les performances du code indépendant de la position, il existe un simple passe interprocédural RA et divers autres registres des améliorations d'allocation ont été ajoutées.
  • GCC 5.1 apporte une prise en charge partielle du standard OpenACC, la prise en charge du déchargement OpenMP 4.0 vers les futurs accélérateurs Xeon Phi d'Intel et la prise en charge du déchargement OpenACC vers PTX. Le désinfecteur de comportement non défini dans GCC a été étendu en ajoutant divers nouveaux contrôles d'exécution. Une bibliothèque expérimentale JCC GCC a été ajoutée dans GCC 5.1.

Nouveautés dans la version 4.8.4:

  • Améliorations de l’optimiseur général:
  • AddressSanitizer, un détecteur d’erreur de mémoire rapide, est maintenant disponible sur ARM.
  • UndefinedBehaviorSanitizer (ubsan), un détecteur de comportement rapide non défini, a été ajouté et peut être activé via -fsanitize = undefined. Différents calculs seront instrumentés pour détecter un comportement indéfini à l'exécution. UndefinedBehaviorSanitizer est actuellement disponible pour les langages C et C ++.
  • Améliorations de l’optimisation du temps de liaison (LTO):
  • La fusion de type a été réécrite. La nouvelle implémentation est nettement plus rapide et utilise moins de mémoire.
  • Meilleur algorithme de partitionnement, ce qui réduit la diffusion en continu au cours de la liaison.
  • Le retrait précoce des méthodes virtuelles réduit la taille des fichiers d’objet et améliore l’utilisation de la mémoire au moment de la liaison et la compilation.
  • Les corps de fonctions sont maintenant chargés à la demande et publiés au début, ce qui améliore l’utilisation de la mémoire au moment de la liaison.
  • Les méthodes à clé masquée C ++ peuvent maintenant être optimisées.
  • Lorsque vous utilisez un plug-in de l'éditeur de liens, la compilation avec l'option -flto génère désormais des fichiers objets minces (.o) qui ne contiennent qu'une représentation de langage intermédiaire pour LTO. Utilisez -ffat-lto-objects pour créer des fichiers contenant en plus le code objet. Pour générer des bibliothèques statiques adaptées au traitement LTO, utilisez gcc-ar et gcc-ranlib; pour lister les symboles d'un fichier objet fin, utilisez gcc-nm. (Cela nécessite que ar, ranlib et nm aient été compilés avec le support du plugin.)
  • Construction de l’utilisation de la mémoire Firefox avec le débogage activé a été réduit de 15 Go à 3,5 Go; temps de liaison de 1700 secondes à 350 secondes.
  • Améliorations d'optimisation inter-procédures:
  • Nouveau module d'analyse d'héritage de type améliorant la virtualisation. La virtualisation prend désormais en compte les espaces de noms anonymes et le mot-clé final C ++ 11.
  • Nouveau pass spéculatif de dévirtualisation (contrôlé par -fdevirtualize-speculativement.
  • Les appels qui ont été effectués directement de manière spéculative sont ramenés à des appels indirects où l’appel direct n’est pas moins cher.
  • Les alias locaux sont introduits pour les symboles connus pour être sémantiquement équivalents sur les bibliothèques partagées, ce qui améliore les temps de liaison dynamique.
  • Améliorations de l'optimisation orientées retour:
  • Le profilage des programmes utilisant les fonctions en ligne C ++ est désormais plus fiable.
  • Le profilage de la nouvelle heure détermine l’ordre dans lequel les fonctions sont exécutées.
  • Une nouvelle fonction de réordonnancement (contrôlée par les fonctions -freorder) réduit considérablement le temps de démarrage des applications volumineuses. Tant que le support binutils n'est pas terminé, il n'est efficace qu'avec l'optimisation du temps de liaison.
  • La suppression des appels indirects et la devirtualisation pilotés par la rétroaction gèrent désormais les appels inter-modules lorsque l’optimisation à l’heure de la liaison est activée.
  • Nouvelles améliorations spécifiques aux langues et aux langages:
  • La version 4.0 de la spécification OpenMP est désormais prise en charge dans les compilateurs C et C ++ et commence avec la version 4.9.1 du compilateur Fortran. La nouvelle option -fopenmp-simd peut être utilisée pour activer les directives SIMD d'OpenMP, tout en ignorant les autres directives OpenMP. La nouvelle option -fsimd-cost-model = permet d'ajuster le modèle de coût de vectorisation pour les boucles annotées avec les directives OpenMP et Cilk Plus; -Wopenmp-simd avertit lorsque le modèle de coût actuel remplace les directives simd définies par l'utilisateur.
  • L'option -Wdate-time a été ajoutée pour les compilateurs C, C ++ et Fortran, qui avertissent lorsque les macros __DATE__, __TIME__ ou __TIMESTAMP__ sont utilisées. Ces macros peuvent empêcher des compilations reproductibles identiques aux bits.
  • Ada:
  • GNAT est passé à Ada 2012 au lieu d’Ada 2005 par défaut.
  • Famille C:
  • La prise en charge des diagnostics de colorisation émis par GCC a été ajoutée. Le paramètre -fdiagnostics-color = auto le permet lors de la sortie vers les terminaux, -fdiagnostics-color = toujours inconditionnellement. La variable d'environnement GCC_COLORS peut être utilisée pour personnaliser les couleurs ou désactiver les couleurs. Si la variable GCC_COLORS est présente dans l'environnement, la valeur par défaut est -fdiagnostics-color = auto, sinon -fdiagnostics-color = never.
  • Exemple de sortie de diagnostic:
  • $ g ++ -fdiagnostics-color = always -S -Wall test.C
  • test.C: Dans la fonction "int foo ()":
  • test.C: 1: 14: avertissement: aucune instruction de retour dans la fonction ne retourne non-vide [-Wreturn-type]
  • int foo () {}
  • test.C: 2: 46: erreur: la profondeur d'instanciation du modèle dépasse le maximum de 900 (utilisez -ftemplate-depth = pour augmenter le maximum) instanciation de "struct X"
  • template struct X {statique const int valeur = X :: valeur; }; struct struct X;
  • test.C: 2: 46: requis de manière récursive à partir de "const int X :: value"
  • test.C: 2: 46: requis de la part de "const int X :: value"
  • test.C: 2: 88: requis à partir d'ici
  • test.C: 2: 46: erreur: type incomplet & lsquo; X 'utilisé dans le spécificateur de nom imbriqué
  • Avec le nouveau #pragma GCC ivdep, l'utilisateur peut affirmer qu'il n'y a pas de dépendances transmises par la boucle qui empêcheraient l'exécution simultanée d'itérations consécutives à l'aide d'instructions SIMD (Single Instruction Multiple Data).
  • Le support de Cilk Plus a été ajouté et peut être activé avec l'option -fcilkplus. Cilk Plus est une extension des langages C et C ++ pour prendre en charge le parallélisme des données et des tâches. La présente implémentation suit ABI version 1.2; toutes les fonctionnalités sauf _Cilk_for ont été implémentées.
  • Les atomiques ISO C11 (le spécificateur de type _Atomic et le qualificateur et l'en-tête) sont désormais pris en charge.
  • Les sélections génériques ISO C11 (mot-clé _Generic) sont désormais prises en charge.
  • Le stockage local de threads ISO C11 (_Thread_local, similaire à GNU C __thread) est désormais pris en charge.
  • La prise en charge d'ISO C11 est maintenant à un niveau similaire à la prise en charge ISO C99: bogues modulo substantiellement complets, identificateurs étendus (pris en charge sauf pour les cas en coin lorsque -fextended-identifiers est utilisé), problèmes en virgule flottante concernant les fonctions optionnelles C99 des annexes F et G) et les annexes facultatives K (interfaces de vérification des limites) et L (analyse).
  • Une nouvelle extension C __auto_type fournit un sous-ensemble des fonctionnalités de C ++ 11 auto dans GNU C.
  • C ++:
  • L'implémentation G ++ de la déduction de type de retour C ++ 1y pour les fonctions normales a été mise à jour pour être conforme à la norme N3638, la proposition étant acceptée dans le document de travail. Plus particulièrement, il ajoute decltype (auto) pour obtenir la sémantique decltype plutôt que la sémantique de déduction de l'argument template de plain auto:
  • int & amp; f ();
  • auto i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ prend en charge les initialiseurs de capture lambda C ++ 1y:
  • [x = 42] {...};
  • En fait, ils ont été acceptés depuis GCC 4.5, mais maintenant, le compilateur ne les avertit pas avec -std = c ++ 1y et supporte également les initialiseurs entre parenthèses et accolades.
  • G ++ prend en charge les tableaux de longueur variable C ++ 1y. G ++ supporte les VLA de style GNU / C99 depuis longtemps, mais supporte maintenant en plus les initialiseurs et la capture lambda par référence. En mode C ++ 1y, G ++ se plaindra des utilisations de VLA non autorisées par le projet de norme, telles que la création d'un pointeur vers un type VLA ou l'application de sizeof à une variable VLA. Notez qu'il semble maintenant que les VLA ne feront pas partie de C ++ 14, mais feront partie d'un document distinct, puis peut-être de C ++ 17.
  • void f (int n) {
  • int a [n] = {1, 2, 3}; // lance std :: bad_array_length si n & lt; 3
  • [& amp; a] {for (int i: a) {cout

Nouveautés dans la version 4.9.1:

  • GCC 4.9.1 est une version de correction de bogue de la branche GCC 4.9 contenant des correctifs importants pour les régressions et les bogues graves dans GCC 4.9.0 avec plus de 88 bogues corrigés depuis la version précédente. De plus, la version GCC 4.9.1 prend en charge OpenMP 4.0 également dans Fortran, et pas seulement en C et C ++.

Nouveautés dans la version 4.9.0:

  • Améliorations de l’optimiseur général:
  • AddressSanitizer, un détecteur d’erreur de mémoire rapide, est maintenant disponible sur ARM.
  • UndefinedBehaviorSanitizer (ubsan), un détecteur de comportement rapide non défini, a été ajouté et peut être activé via -fsanitize = undefined. Différents calculs seront instrumentés pour détecter un comportement indéfini à l'exécution. UndefinedBehaviorSanitizer est actuellement disponible pour les langages C et C ++.
  • Améliorations de l’optimisation du temps de liaison (LTO):
  • La fusion de type a été réécrite. La nouvelle implémentation est nettement plus rapide et utilise moins de mémoire.
  • Meilleur algorithme de partitionnement, ce qui réduit la diffusion en continu au cours de la liaison.
  • Le retrait précoce des méthodes virtuelles réduit la taille des fichiers d’objet et améliore l’utilisation de la mémoire au moment de la liaison et la compilation.
  • Les corps de fonctions sont maintenant chargés à la demande et publiés au début, ce qui améliore l’utilisation de la mémoire au moment de la liaison.
  • Les méthodes à clé masquée C ++ peuvent maintenant être optimisées.
  • Lorsque vous utilisez un plug-in de l'éditeur de liens, la compilation avec l'option -flto génère désormais des fichiers d'objets minces (.o) qui ne contiennent qu'une représentation de langage intermédiaire pour LTO. Utilisez -ffat-lto-objects pour créer des fichiers contenant en plus le code objet. Pour générer des bibliothèques statiques adaptées au traitement LTO, utilisez gcc-ar et gcc-ranlib; pour lister les symboles d'un fichier objet fin, utilisez gcc-nm. (Nécessite que ar, ranlib et nm aient été compilés avec le support du plugin.)
  • Construction de l’utilisation de la mémoire Firefox avec le débogage activé a été réduit de 15 Go à 3,5 Go; temps de liaison de 1700 secondes à 350 secondes.
  • Améliorations d'optimisation inter-procédures:
  • Nouveau module d'analyse d'héritage de type améliorant la virtualisation. La virtualisation prend désormais en compte les espaces de noms anonymes et le mot-clé final C ++ 11.
  • Nouveau pass spéculatif de dévirtualisation (contrôlé par -fdevirtualize-speculativement.
  • Les appels qui ont été effectués directement de manière spéculative sont ramenés à des appels indirects où l’appel direct n’est pas moins cher.
  • Les alias locaux sont introduits pour les symboles connus pour être sémantiquement équivalents sur les bibliothèques partagées, ce qui améliore les temps de liaison dynamique.
  • Améliorations de l'optimisation orientées retour:
  • Le profilage des programmes utilisant les fonctions en ligne C ++ est désormais plus fiable.
  • Le profilage de la nouvelle heure détermine l’ordre dans lequel les fonctions sont exécutées.
  • Une nouvelle fonction de réordonnancement (contrôlée par les fonctions -freorder) réduit considérablement le temps de démarrage des applications volumineuses. Tant que le support binutils n'est pas terminé, il n'est efficace qu'avec l'optimisation du temps de liaison.
  • La suppression des appels indirects et la devirtualisation pilotés par la rétroaction gèrent désormais les appels inter-modules lorsque l’optimisation à l’heure de la liaison est activée.
  • Nouvelles améliorations spécifiques aux langues et aux langages:
  • La version 4.0 de la spécification OpenMP est désormais prise en charge pour les compilateurs C et C ++. La nouvelle option -fopenmp-simd peut être utilisée pour activer les directives SIMD d'OpenMP, tout en ignorant les autres directives OpenMP. La nouvelle option -fsimd-cost-model = permet d'ajuster le modèle de coût de vectorisation pour les boucles annotées avec les directives OpenMP et Cilk Plus; -Wopenmp-simd avertit lorsque le costmodel actuel remplace les directives simd définies par l'utilisateur.
  • L'option -Wdate-time a été ajoutée pour les compilateurs C, C ++ et Fortran, qui avertissent lorsque les macros __DATE__, __TIME__ ou __TIMESTAMP__ sont utilisées. Ces macros peuvent empêcher des compilations reproductibles identiques aux bits.
  • Ada:
  • GNAT est passé à Ada 2012 au lieu d’Ada 2005 par défaut.
  • Famille C:
  • La prise en charge des diagnostics de colorisation émis par GCC a été ajoutée. Le paramètre -fdiagnostics-color = auto le permet lors de la sortie vers les terminaux, -fdiagnostics-color = toujours inconditionnellement. La variable d'environnement GCC_COLORS peut être utilisée pour personnaliser les couleurs ou désactiver les couleurs. Si la variable GCC_COLORS est présente dans l'environnement, la valeur par défaut est -fdiagnostics-color = auto, sinon -fdiagnostics-color = never.
  • Exemple de sortie de diagnostic:
  • $ g ++ -fdiagnostics-color = always -S -Wall test.C
  • test.C: Dans la fonction "int foo ()":
  • test.C: 1: 14: avertissement: aucune instruction de retour dans la fonction ne retourne non-vide [-Wreturn-type]
  • int foo () {}
  • test.C: 2: 46: erreur: la profondeur d'instanciation du modèle dépasse le maximum de 900 (utilisez -ftemplate-depth = pour augmenter le maximum) instanciation de "struct X"
  • template struct X {statique const int valeur = X :: valeur; }; struct struct X;
  • test.C: 2: 46: requis de manière récursive à partir de "const int X :: value"
  • test.C: 2: 46: requis de la part de "const int X :: value"
  • test.C: 2: 88: requis à partir d'ici
  • test.C: 2: 46: erreur: type incomplet & lsquo; X 'utilisé dans le spécificateur de nom imbriqué
  • Avec le nouveau #pragma GCC ivdep, l'utilisateur peut affirmer qu'il n'y a pas de dépendances transmises par la boucle qui empêcheraient l'exécution simultanée d'itérations consécutives à l'aide d'instructions SIMD (Single Instruction Multiple Data).
  • Le support de Cilk Plus a été ajouté et peut être activé avec l'option -fcilkplus. Cilk Plus est une extension des langages C et C ++ pour prendre en charge le parallélisme des données et des tâches. La présente implémentation suit ABI version 1.2; toutes les fonctionnalités sauf _Cilk_for ont été implémentées.
  • Les atomiques ISO C11 (le spécificateur de type _Atomic et le qualificateur et l'en-tête) sont désormais pris en charge.
  • Les sélections génériques ISO C11 (mot-clé _Generic) sont désormais prises en charge.
  • Le stockage local de threads ISO C11 (_Thread_local, similaire à GNU C __thread) est désormais pris en charge.
  • La prise en charge d'ISO C11 est maintenant à un niveau similaire à la prise en charge ISO C99: bogues modulo substantiellement complets, identificateurs étendus (pris en charge sauf pour les cas en coin lorsque -fextended-identifiers est utilisé), problèmes en virgule flottante concernant les fonctions optionnelles C99 des annexes F et G) et les annexes facultatives K (interfaces de vérification des limites) et L (analyse).
  • Une nouvelle extension C __auto_type fournit un sous-ensemble des fonctionnalités de C ++ 11 auto dans GNU C.
  • C ++:
  • L'implémentation G ++ de la déduction de type de retour C ++ 1y pour les fonctions normales a été mise à jour pour être conforme à la norme N3638, la proposition étant acceptée dans le document de travail. Plus particulièrement, il ajoute decltype (auto) pour obtenir la sémantique decltype plutôt que la sémantique de déduction de l'argument template de plain auto:
  • int & amp; f ();
  • auto i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ prend en charge les initialiseurs de capture lambda C ++ 1y:
  • [x = 42] {...};
  • En fait, ils ont été acceptés depuis GCC 4.5, mais maintenant, le compilateur ne les avertit pas avec -std = c ++ 1y et supporte également les initialiseurs entre parenthèses et accolades.
  • G ++ prend en charge les tableaux C ++ 1y de longueur variable. G ++ supporte les VLA de style GNU / C99 depuis longtemps, mais supporte maintenant en plus les initialiseurs et la capture lambda par référence. En mode C ++ 1y, G ++ se plaindra des utilisations de VLA non autorisées par le projet de norme, telles que la création d'un pointeur vers un type VLA ou l'application de sizeof à une variable VLA. Notez qu'il semble maintenant que les VLA ne feront pas partie de C ++ 14, mais feront partie d'un document distinct, puis peut-être de C ++ 17.
  • void f (int n) {
  • int a [n] = {1, 2, 3}; // lance std :: bad_array_length si n & lt; 3
  • [& amp; a] {for (int i: a) {cout

Logiciel similaire

Toka
Toka

3 Jun 15

GNU Binutils
GNU Binutils

17 Aug 18

runawk
runawk

19 Feb 15

Pike
Pike

20 Feb 15

Commentaires à GCC

1 Commentaires
  • http://www.eduwizzonlinetrainings.com 29 Dec 17
    EduwizzOnlineTraining is one of the Best Online Training Institute in Hyderabad, Bangalore. Eduwizz provide courses like Hybris Development, WebSphere Commerce Server,Blockchain Training,Hyperledger Fabric Development ,Ethereum Development ,Commvault Training, Devops , Netapps , Mulesoft ESB ,Machine Learning,Data Science , Internet of Things , Hybris ,Angular JS , Node JS , Express JS , Business Analyst, Selenium testing with webdriver, Guidewire ,Adobe, RPA ,TSM, EMC...etc
Ajouter un commentaire
Tourner sur les images!