GCC

Software screenshot:
GCC
Dettagli del software:
Versione: 8.2.0 Aggiornato
Data di caricamento: 16 Aug 18
Sviluppatore: The GCC Team
Licenza: Libero
Popolarità: 108

Rating: 3.0/5 (Total Votes: 3)

GCC (GNU Compiler Collection) è un software da riga di comando open source progettato per fungere da compilatore per i sistemi operativi basati su GNU / Linux e BSD. Include front-end per numerosi linguaggi di programmazione, inclusi Objective-C, Go, C ++, Java, C, Ada e Fortran.


Caratteristiche a colpo d'occhio

Con GCC è possibile configurare, compilare e installare applicazioni GNU / Linux nei sistemi operativi Linux o BSD utilizzando solo l'archivio sorgente del rispettivo programma. Tuttavia, gli utenti non hanno bisogno di interagire con il compilatore, poiché questo viene fatto automaticamente dalla configurazione e dagli script.

Il progetto include anche librerie per vari linguaggi di programmazione, come libstdc e libgcj, e come la maggior parte del software GNU, deve essere configurato prima che possa essere compilato e installato sul tuo computer.

Può anche visualizzare il percorso completo di una libreria specifica, le cartelle nel percorso di ricerca del compilatore, il percorso completo di un componente specifico, la directory delle librerie di destinazione, il suffisso sysroot utilizzato per trovare le intestazioni e la tripletta GNU normalizzata della destinazione.

Inoltre, ci sono varie altre opzioni per passare determinate opzioni e argomenti separati da virgola sull'assemblatore, sul preprocessore e sul linker, compilare e assemblare senza collegamento, creare una libreria condivisa e molte altre.


Progettato per il sistema operativo GNU

Essendo stato originariamente scritto come compilatore principale per il sistema operativo GNU, GCC (GNU Compiler Collection) è stato sviluppato per essere software libero al 100% ed è installato di default su qualsiasi distribuzione Linux.

Il software è anche usato dagli sviluppatori Open Source per compilare i loro programmi. La riga di comando ha diverse opzioni, tra cui possiamo citare la possibilità di visualizzare il processore di destinazione del compilatore, nonché il percorso relativo alle librerie del sistema operativo.


Linea di fondo

Tutto sommato, GCC è uno dei componenti più essenziali di qualsiasi sistema operativo GNU / Linux. Non solo, non possiamo nemmeno immaginare un mondo senza di esso, ma GCC è la ragione principale dietro l'intero ecosistema Open Source.

Novità in questa versione:

  • GCC 7.3 è una versione bug-fix dal ramo GCC 7 che contiene importanti correzioni per regressioni e bug gravi in ​​GCC 7.2 con oltre 99 bug risolti dalla versione precedente.
  • Questa versione include opzioni di generazione del codice per mitigare Specter Variant 2 (CVE 2017-5715) per i target x86 e powerpc.

Novità nella versione 8.1.0:

  • GCC 7.3 è una versione di bug-fix del GCC 7 branch contenente importanti correzioni per regressioni e bug gravi in ​​GCC 7.2 con oltre 99 bug risolti dalla versione precedente.
  • Questa versione include opzioni di generazione del codice per mitigare Specter Variant 2 (CVE 2017-5715) per i target x86 e powerpc.

Novità della versione nella versione:

  • GCC 7.1 è una versione importante che contiene una sostanziale nuova funzionalità non disponibile in GCC 6.xo nelle versioni precedenti di GCC. Il frontend di C ++ ora ha il supporto sperimentale per tutti gli attuali draft C ++ 17, con le opzioni -std = c ++ 1z e -std = gnu ++ 1z, e la libreria libstdc ++ ha la maggior parte della bozza C ++ 17 implementate anche funzionalità di libreria. Questa versione presenta vari miglioramenti nella diagnostica emessa, tra cui posizioni migliorate, intervalli di posizione, suggerimenti per identificatori errati, nomi di opzioni, suggerimenti per la correzione e vari nuovi avvisi sono stati aggiunti. Gli ottimizzatori sono stati migliorati, con miglioramenti che appaiono in tutte le ottimizzazioni intra- e inter-procedurali, ottimizzazioni del tempo di collegamento e vari back-end di destinazione, incluse, ma non limitate a, aggiunte di merging del deposito, ottimizzazione del sollevamento del codice, suddivisione del loop e restringimento miglioramenti del wrapping. Ora Address Sanitizer può riportare gli usi delle variabili dopo averne abbandonato l'ambito. GCC ora può essere configurato per l'offload di OpenMP 4.5 su GPidia GPX NVidia.

Novità nella versione 6.3.0:

  • GCC 6.3 è una versione bug-fix del ramo GCC 6 che contiene importanti correzioni per regressioni e bug gravi in ​​GCC 6.2 con oltre 79 bug risolti dalla versione precedente.

Novità nella versione 6.2.0:

  • Questa versione è una versione di bug-fix, contenente correzioni per le regressioni in GCC 5.2 relative alle versioni precedenti di GCC.

Novità della versione 6.1.0:

  • Questa versione è una versione di bug-fix, contenente correzioni per le regressioni in GCC 5.2 relative alle versioni precedenti di GCC.

Novità nella versione 5.3.0:

  • Questa versione è una versione di bug-fix, contenente correzioni per le regressioni in GCC 5.2 relative alle versioni precedenti di GCC.

Novità della versione 5.2.0:

  • Questa versione è una versione di bug-fix, contenente correzioni per regressioni in GCC 5.1 relative alle versioni precedenti di GCC.

Novità della versione 5.1.0:

  • Il front-end C ++ ora supporta il linguaggio C ++ 14 completo e la libreria Standard C ++ ha pieno supporto per C ++ 11 e supporto sperimentale completo per C ++ 14. Il supporto completo per C ++ 11 è stato reso possibile adottando Dual ABI, vedi https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html per maggiori dettagli.
  • Il front-end C ora usa la modalità C11 con le estensioni GNU, che influisce sulla semantica della parola chiave inline e porta molti altri cambiamenti visibili all'utente, vedi https://gcc.gnu.org/gcc-5/porting_to.html per maggiori dettagli.
  • GCC 5.1 contiene vari miglioramenti di ottimizzazione interprocedurale, ad es. un nuovo passaggio di piegatura del codice identico IPA e vari miglioramenti LTO, ad es. Fusione basata su ODR dei tipi C ++, vedere http://hubicka.blogspot.cz/2015/04/GCC5-IPA-LTO-news.html per maggiori dettagli.
  • L'allocatore di registro locale di GCC 5.1 ora contiene un sottopassaggio di rimaterializzazione, su i? 86 / x86-64 è in grado di riutilizzare il registro rigido PIC per migliorare le prestazioni del codice indipendente dalla posizione, c'è un semplice pass interprocedurale RA e vari altri registri sono stati aggiunti miglioramenti all'allocazione.
  • GCC 5.1 aggiunge il supporto parziale per lo standard OpenACC, il supporto per l'offload OpenMP 4.0 ai futuri acceleratori Xeon Phi di Intel e il supporto per offloading di OpenACC su PTX. L'Undefined Behavior Sanitizer in GCC è stato esteso aggiungendo vari nuovi controlli di runtime. Una libreria sperimentale JCC GIT è stata aggiunta in GCC 5.1.

Novità della versione 4.8.4:

  • Miglioramenti all'ottimizzatore generale:
  • AddressSanitizer, un rilevatore di errori di memoria veloce, è ora disponibile su ARM.
  • UndefinedBehaviorSanitizer (ubsan), un rilevatore di comportamento veloce non definito, è stato aggiunto e può essere abilitato tramite -fsanitize = undefined. Vari calcoli saranno strumentati per rilevare comportamenti non definiti in fase di esecuzione. UndefinedBehaviorSanitizer è attualmente disponibile per i linguaggi C e C ++.
  • Miglioramenti dell'ottimizzazione Link-time (LTO):
  • Il tipo di unione è stato riscritto. La nuova implementazione è notevolmente più veloce e utilizza meno memoria.
  • Miglioramento dell'algoritmo di partizionamento con conseguente minore streaming durante il tempo di collegamento.
  • La rimozione anticipata di metodi virtuali riduce la dimensione dei file oggetto e migliora l'utilizzo della memoria in fase di collegamento e il tempo di compilazione.
  • I corpi delle funzioni sono ora caricati su richiesta e rilasciati in anticipo migliorando l'utilizzo complessivo della memoria al momento del collegamento.
  • I metodi con chiave nascosta C ++ possono ora essere ottimizzati.
  • Quando si utilizza un plug-in del linker, la compilazione con l'opzione -flto ora genera file di oggetti snelli (.o) che contengono solo la rappresentazione del linguaggio intermedio per LTO. Usa -ffat-lto-objects per creare file che contengono in aggiunta il codice dell'oggetto. Per generare librerie statiche adatte all'elaborazione LTO, usa gcc-ar e gcc-ranlib; per elencare i simboli da un file oggetto sottile usa gcc-nm. (Ciò richiede che ar, ranlib e nm siano stati compilati con il supporto per i plugin.)
  • L'utilizzo della memoria che costruisce Firefox con debug abilitato è stato ridotto da 15 GB a 3,5 GB; tempo di collegamento da 1700 secondi a 350 secondi.
  • Miglioramenti per l'ottimizzazione inter-procedurale:
  • Nuovo modulo di analisi dell'ereditarietà dei tipi che migliora la devirtualizzazione. La virtualizzazione ora tiene conto degli spazi dei nomi anonimi e della parola chiave finale C ++ 11.
  • Nuova passata di devirtualizzazione speculativa (controllata da -fdevirtualize-speculatively.
  • Le chiamate che sono state effettuate in modo speculativo diretto sono tornate a quelle indirette in cui la chiamata diretta non è più economica.
  • Gli alias locali vengono introdotti per i simboli noti per essere semanticamente equivalenti su librerie condivise che migliorano i tempi di collegamento dinamico.
  • Miglioramenti dell'ottimizzazione orientati al feedback:
  • Il profilo dei programmi che usano le funzioni inline di C ++ ora è più affidabile.
  • Il nuovo profilo temporale determina l'ordine tipico in cui vengono eseguite le funzioni.
  • Un nuovo passaggio di riordino delle funzioni (controllato da funzioni -freorder) riduce significativamente il tempo di avvio delle applicazioni di grandi dimensioni. Fino al completamento del supporto di binutils, è efficace solo con l'ottimizzazione del tempo di collegamento.
  • La rimozione e la deviazione delle chiamate indirette basate sul feedback ora gestiscono le chiamate tra più moduli quando l'ottimizzazione del tempo di collegamento è abilitata.
  • Nuovi miglioramenti specifici per lingua e lingua:
  • La versione 4.0 della specifica OpenMP è ora supportata nei compilatori C e C ++ e inizia con la versione 4.9.1 anche nel compilatore Fortran. La nuova opzione -fopenmp-simd può essere utilizzata per abilitare le direttive SIMD di OpenMP, ignorando le altre direttive OpenMP. La nuova opzione -fsimd-cost-model = consente di regolare il modello di costo di vettorizzazione per loop annotati con le direttive simd OpenMP e Cilk Plus; -Wopenmp-simd avverte quando il modello di costo corrente sovrascrive le direttive simd impostate dall'utente.
  • L'opzione -Wdate-time è stata aggiunta per i compilatori C, C ++ e Fortran, che avvisa quando vengono utilizzati i macro __DATE__, __TIME__ o __TIMESTAMP__. Queste macro potrebbero impedire compilazioni riproducibili identiche al bit-saggio.
  • Ada:
  • GNAT è passato ad Ada 2012 invece di Ada 2005 per impostazione predefinita.
  • Famiglia C:
  • È stato aggiunto il supporto per la colorazione della diagnostica emessa da GCC. Il parametro -fdiagnostics-color = auto lo abiliterà durante l'output sui terminali, -fdiagnostics-color = sempre incondizionatamente. La variabile di ambiente GCC_COLORS può essere utilizzata per personalizzare i colori o disabilitare la colorazione. Se la variabile GCC_COLORS è presente nell'ambiente, il valore predefinito è -fdiagnostics-color = auto, altrimenti -fdiagnostics-color = never.
  • Esempio di output diagnostico:
  • $ g ++ -fdiagnostics-color = sempre -S -Test test.C
  • test.C: nella funzione & lsquo; int foo () ':
  • test.C: 1: 14: avviso: nessuna istruzione di ritorno in funzione che restituisce non vuoto [-Wreturn-type]
  • int foo () {}
  • test.C: 2: 46: errore: la profondità di istanziazione del modello supera il massimo di 900 (usa -ftemplate-depth = per aumentare il massimo) di istanziazione & lsquo; struct X '
  • template struct X {statico const int value = X :: value; }; template struct X;
  • test.C: 2: 46: richiesto in modo ricorsivo da & lsquo; const int X: value '
  • test.C: 2: 46: richiesto da & lsquo; const int X :: value '
  • test.C: 2: 88: richiesto da qui
  • test.C: 2: 46: errore: tipo incompleto & lsquo; X 'utilizzato nello specificatore del nome nidificato
  • Con il nuovo #pragma GCC ivdep, l'utente può affermare che non ci sono dipendenze del ciclo trasportato che impedirebbero l'esecuzione concomitante di iterazioni consecutive usando istruzioni SIMD (istruzioni multiple di dati multipli).
  • È stato aggiunto il supporto per Cilk Plus e può essere abilitato con l'opzione -fcilkplus. Cilk Plus è un'estensione dei linguaggi C e C ++ per supportare il parallelismo dei dati e delle attività. La presente implementazione segue ABI versione 1.2; tutte le funzionalità, ma _Cilk_for sono state implementate.
  • atomics ISO C11 (lo specificatore del tipo _Atomic e il qualificatore e l'intestazione) sono ora supportati.
  • Sono ora supportate le selezioni generiche ISO C11 (_Generic keyword)
  • La memorizzazione locale thread ISO C11 (_Thread_local, simile a GNU C __thread) ora è supportata.
  • Il supporto ISO C11 ha ora un livello simile di completezza al supporto ISO C99: errori di modulo sostanzialmente completi, identificatori estesi (supportati tranne casi d'angolo quando vengono utilizzati identificatori estesi), problemi in virgola mobile (principalmente ma non interamente relativo alle caratteristiche C99 facoltative degli allegati F e G) e agli allegati facoltativi K (Interfacce di controllo dei limiti) e L (Analizzabilità).
  • Una nuova estensione C __auto_type fornisce un sottoinsieme della funzionalità di C ++ 11 auto in GNU C.
  • C ++:
  • L'implementazione G ++ di C ++ 1y tipo deduzione di ritorno per le normali funzioni è stata aggiornata per conformarsi a N3638, la proposta accettata nel documento di lavoro. In particolare, aggiunge decltype (auto) per ottenere la semantica di decltype piuttosto che la semantica di deduzione argomento template di plain auto:
  • int & amp; f ();
  • auto i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ supporta gli inizializzatori di cattura lambda C ++ 1y:
  • [x = 42] {...};
  • In realtà, sono stati accettati dal GCC 4.5, ma ora il compilatore non li avvisa con -std = c ++ 1y, e supporta anche inizializzatori parentesi e parentesi chiusa.
  • G ++ supporta array di lunghezza variabile C ++ 1y. G ++ ha supportato i VLA in stile GNU / C99 per un lungo periodo, ma ora supporta anche gli inizializzatori e l'acquisizione lambda per riferimento. In modalità C ++ 1y G ++ si lamenterà degli usi VLA che non sono consentiti dalla bozza standard, come formare un puntatore al tipo VLA o applicare sizeof a una variabile VLA. Si noti che ora sembra che i VLA non faranno parte di C ++ 14, ma faranno parte di un documento separato e quindi forse C ++ 17.
  • void f (int n) {
  • int a [n] = {1, 2, 3}; // genera std :: bad_array_length se n & lt; 3
  • [& amp; a] {per (int i: a) {cout

Novità nella versione 4.9.1:

  • GCC 4.9.1 è una versione bug-fix del ramo GCC 4.9 contenente importanti correzioni per regressioni e bug gravi in ​​GCC 4.9.0 con oltre 88 bug risolti dalla versione precedente. In aggiunta a ciò, GCC 4.9.1 supporta OpenMP 4.0 anche in Fortran, piuttosto che solo in C e C ++.

Novità nella versione 4.9.0:

  • Miglioramenti all'ottimizzatore generale:
  • AddressSanitizer, un rilevatore di errori di memoria veloce, è ora disponibile su ARM.
  • UndefinedBehaviorSanitizer (ubsan), un rilevatore di comportamento veloce non definito, è stato aggiunto e può essere abilitato tramite -fsanitize = undefined. Vari calcoli saranno strumentati per rilevare comportamenti non definiti in fase di esecuzione. UndefinedBehaviorSanitizer è attualmente disponibile per i linguaggi C e C ++.
  • Miglioramenti dell'ottimizzazione Link-time (LTO):
  • Il tipo di unione è stato riscritto. La nuova implementazione è notevolmente più veloce e utilizza meno memoria.
  • Miglioramento dell'algoritmo di partizionamento con conseguente minore streaming durante il tempo di collegamento.
  • La rimozione anticipata di metodi virtuali riduce la dimensione dei file oggetto e migliora l'utilizzo della memoria in fase di collegamento e il tempo di compilazione.
  • I corpi delle funzioni sono ora caricati su richiesta e rilasciati in anticipo migliorando l'utilizzo complessivo della memoria al momento del collegamento.
  • I metodi con chiave nascosta C ++ possono ora essere ottimizzati.
  • Quando si utilizza un plug-in del linker, la compilazione con l'opzione -flto ora genera file di oggetti snelli (.o) che contengono solo la rappresentazione del linguaggio intermedio per LTO. Usa -ffat-lto-objects per creare file che contengono in aggiunta il codice dell'oggetto. Per generare librerie statiche adatte all'elaborazione LTO, usa gcc-ar e gcc-ranlib; per elencare i simboli da un file oggetto sottile usa gcc-nm. (Richiede che ar, ranlib e nm siano stati compilati con il supporto per i plugin.)
  • L'utilizzo della memoria che costruisce Firefox con debug abilitato è stato ridotto da 15 GB a 3,5 GB; tempo di collegamento da 1700 secondi a 350 secondi.
  • Miglioramenti per l'ottimizzazione inter-procedurale:
  • Nuovo modulo di analisi dell'ereditarietà dei tipi che migliora la devirtualizzazione. La virtualizzazione ora tiene conto degli spazi dei nomi anonimi e della parola chiave finale C ++ 11.
  • Nuova passata di devirtualizzazione speculativa (controllata da -fdevirtualize-speculatively.
  • Le chiamate che sono state effettuate in modo speculativo diretto sono tornate a quelle indirette in cui la chiamata diretta non è più economica.
  • Gli alias locali vengono introdotti per i simboli noti per essere semanticamente equivalenti su librerie condivise che migliorano i tempi di collegamento dinamico.
  • Miglioramenti dell'ottimizzazione orientati al feedback:
  • Il profilo dei programmi che usano le funzioni inline di C ++ ora è più affidabile.
  • Il nuovo profilo temporale determina l'ordine tipico in cui vengono eseguite le funzioni.
  • Un nuovo passaggio di riordino delle funzioni (controllato da funzioni -freorder) riduce significativamente il tempo di avvio delle applicazioni di grandi dimensioni. Fino al completamento del supporto di binutils, è efficace solo con l'ottimizzazione del tempo di collegamento.
  • La rimozione e la deviazione delle chiamate indirette basate sul feedback ora gestiscono le chiamate tra più moduli quando l'ottimizzazione del tempo di collegamento è abilitata.
  • Nuovi miglioramenti specifici per lingua e lingua:
  • La versione 4.0 della specifica OpenMP è ora supportata per i compilatori C e C ++. La nuova opzione -fopenmp-simd può essere utilizzata per abilitare le direttive SIMD di OpenMP, ignorando le altre direttive OpenMP. La nuova opzione -fsimd-cost-model = consente di regolare il modello di costo di vettorizzazione per loop annotati con le direttive simd OpenMP e Cilk Plus; -Wopenmp-simd avverte quando il costmodel attuale sovrascrive le direttive simd impostate dall'utente.
  • L'opzione -Wdate-time è stata aggiunta per i compilatori C, C ++ e Fortran, che avvisa quando vengono utilizzati i macro __DATE__, __TIME__ o __TIMESTAMP__. Queste macro potrebbero impedire compilazioni riproducibili identiche al bit-saggio.
  • Ada:
  • GNAT è passato ad Ada 2012 invece di Ada 2005 per impostazione predefinita.
  • Famiglia C:
  • È stato aggiunto il supporto per la colorazione della diagnostica emessa da GCC. Il parametro -fdiagnostics-color = auto lo abiliterà durante l'output sui terminali, -fdiagnostics-color = sempre incondizionatamente. La variabile di ambiente GCC_COLORS può essere utilizzata per personalizzare i colori o disabilitare la colorazione. Se la variabile GCC_COLORS è presente nell'ambiente, il valore predefinito è -fdiagnostics-color = auto, altrimenti -fdiagnostics-color = never.
  • Esempio di output diagnostico:
  • $ g ++ -fdiagnostics-color = sempre -S -Test test.C
  • test.C: nella funzione & lsquo; int foo () ':
  • test.C: 1: 14: avviso: nessuna istruzione di ritorno in funzione che restituisce non vuoto [-Wreturn-type]
  • int foo () {}
  • test.C: 2: 46: errore: la profondità di istanziazione del modello supera il massimo di 900 (usa -ftemplate-depth = per aumentare il massimo) di istanziazione & lsquo; struct X '
  • template struct X {statico const int value = X :: value; }; template struct X;
  • test.C: 2: 46: richiesto in modo ricorsivo da & lsquo; const int X: value '
  • test.C: 2: 46: richiesto da & lsquo; const int X :: value '
  • test.C: 2: 88: richiesto da qui
  • test.C: 2: 46: errore: tipo incompleto & lsquo; X 'utilizzato nello specificatore del nome nidificato
  • Con il nuovo #pragma GCC ivdep, l'utente può affermare che non ci sono dipendenze del ciclo trasportato che impedirebbero l'esecuzione concomitante di iterazioni consecutive usando istruzioni SIMD (istruzioni multiple di dati multipli).
  • È stato aggiunto il supporto per Cilk Plus e può essere abilitato con l'opzione -fcilkplus. Cilk Plus è un'estensione dei linguaggi C e C ++ per supportare il parallelismo dei dati e delle attività. La presente implementazione segue ABI versione 1.2; tutte le funzionalità, ma _Cilk_for sono state implementate.
  • atomics ISO C11 (lo specificatore del tipo _Atomic e il qualificatore e l'intestazione) sono ora supportati.
  • Sono ora supportate le selezioni generiche ISO C11 (_Generic keyword)
  • La memorizzazione locale thread ISO C11 (_Thread_local, simile a GNU C __thread) ora è supportata.
  • Il supporto ISO C11 ha ora un livello simile di completezza al supporto ISO C99: errori di modulo sostanzialmente completi, identificatori estesi (supportati tranne casi d'angolo quando vengono utilizzati identificatori estesi), problemi in virgola mobile (principalmente ma non interamente relativo alle caratteristiche C99 facoltative degli allegati F e G) e agli allegati facoltativi K (Interfacce di controllo dei limiti) e L (Analizzabilità).
  • Una nuova estensione C __auto_type fornisce un sottoinsieme della funzionalità di C ++ 11 auto in GNU C.
  • C ++:
  • L'implementazione G ++ di C ++ 1y tipo deduzione di ritorno per le normali funzioni è stata aggiornata per conformarsi a N3638, la proposta accettata nel documento di lavoro. In particolare, aggiunge decltype (auto) per ottenere la semantica di decltype piuttosto che la semantica di deduzione argomento template di plain auto:
  • int & amp; f ();
  • auto i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ supporta gli inizializzatori di cattura lambda C ++ 1y:
  • [x = 42] {...};
  • In realtà, sono stati accettati dal GCC 4.5, ma ora il compilatore non li avvisa con -std = c ++ 1y, e supporta anche inizializzatori parentesi e parentesi chiusa.
  • G ++ supporta array di lunghezza variabile C ++ 1y. G ++ ha supportato i VLA in stile GNU / C99 per un lungo periodo, ma ora supporta anche gli inizializzatori e l'acquisizione lambda per riferimento. In modalità C ++ 1y G ++ si lamenterà degli usi VLA che non sono consentiti dalla bozza standard, come formare un puntatore al tipo VLA o applicare sizeof a una variabile VLA. Si noti che ora sembra che i VLA non faranno parte di C ++ 14, ma faranno parte di un documento separato e quindi forse C ++ 17.
  • void f (int n) {
  • int a [n] = {1, 2, 3}; // genera std :: bad_array_length se n & lt; 3
  • [& amp; a] {per (int i: a) {cout

Programmi simili

CeGCC
CeGCC

3 Jun 15

Snake
Snake

12 May 15

Chapel
Chapel

11 May 15

Project Fortress
Project Fortress

2 Jun 15

Commenti a GCC

1 Commenti
  • 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
Aggiungi commento
Accendere le immagini!