Monday 18 September 2017

Gcc 2-95 Binario Options


L'opzione binaria - format afferma che il file di input, in questo caso prende il nome stub. è un blob binario non elaborato dei dati. Il comando si mostra prende questo blob e lo avvolge in un file elfo, simile ad altri oggetti creati dal compilatore, e idonee a collegare in un programma. Questo tipo di trucco è utile anche se si dispone di uno strumento di ROM-programmazione, per esempio, che si aspetta che i dati da elfo, piuttosto che i binari grezzi. Il blob è posta nella sezione. data, e vengono creati tre simboli (aka variabili) per voi: binarystubstart binarystubend binarystubsize Se si collega stub-image. o con un programma C, nel solito modo, quindi è possibile accedere ai dati come questo (si può scegliere qualunque tipo di puntatore è appropriato): c'è una serie di opzioni della riga di comando che convincerà gcc per produrre un file binario piatta da un file sorgente autonoma ad esempio, supponiamo che il contenuto di foo. c sono riferimenti esterni, niente di esportare al linker. Id come per ottenere un piccolo file con solo le istruzioni macchina per questa funzione, senza alcuna altra decorazione. Un po 'come un file (DOS) ad eccezione della modalità protetta a 32 bit. chiesto 30 ottobre 09 in 00:26 Le altre risposte sono sicuramente la strada da percorrere. Tuttavia, ho dovuto specificare ulteriori argomenti della riga di comando per objcopy in modo che la mia uscita di essere come previsto. Si noti che sto sviluppando codice a 32 bit su un computer a 64 bit, quindi l'argomento - m32. Inoltre, mi piace sintassi assembly Intel meglio, in modo youll vedere che negli argomenti pure. Ok, ecco dove ho dovuto specificare che ho voluto specificamente solo la sezione. text: Mi ci sono voluti circa 2 ore di lettura e provando diverse opzioni prima ho capito questo fuori. Speriamo che questo salva qualcun altro quel momento. È possibile passare le opzioni al linker direttamente con - Wl, ltlinker optiongt la documentazione richiesta sia copiato sotto dal - Wl uomo gcc, opzione opzione Passo come opzione per il linker. Se l'opzione contiene virgole, che viene suddiviso in più pasti presso le virgole. È possibile utilizzare questa sintassi per passare un argomento per l'opzione. Ad esempio, - Wl, - Map, output. map passa output. map - Map al linker. Quando si utilizza il linker GNU, è anche possibile ottenere lo stesso effetto con - Wl, - Mapoutput. map. Così, quando la compilazione con gcc se si passa - Wl, - oformatbinary si genererà un file binario al posto del formato ELF. Dove --oformatbinary dice ld per generare un file binario. Ciò elimina la necessità di objcopy separatamente. Si noti che --oformatbinary può essere espresso come OutputFormat (binario) da uno script del linker. Se si vuole fare con i binari piatte, theres una grande opportunità che si sarebbe beneficiare di alto livello di controllo che gli script del linker forniscono. rispose 6 maggio 14 at 18: 40Using CC compilatore GNU GCC su AIX Basics Il compilatore GCC è una parte della Free Software Foundation GNU Project. GCC si sviluppa attraverso un ambiente open source, come lo sono tutti gli strumenti GNU, e supporta molte piattaforme tra cui AIX. GCC sta per GNU Compiler Collection, e supporta molti linguaggi come C, C, Objective C, Fortran, e Java. In questo articolo, discuteremo le versioni GCC 3.3.4 e tutte le versioni di 3.4 da versioni AIX 5.1, 5.2 e 5.3. Confrontando compilatore GCC per XL CC compilatore XL CC Enterprise Edition V7.0 per AIX è il seguito al rilascio di VisualAge174 C V6.0 professionale per AIX. In questa sezione, si descrive il motivo per cui si consiglia di utilizzare il compilatore GCC su AIX rispetto all'utilizzo di XL CC compilatore. Il compilatore XL ha un grande supporto per i più recenti standard del linguaggio di programmazione internazionali e di settore. Il CC compilatore XL è dotato di nuove funzioni incorporate per la divisione in virgola mobile, nuovi pragma e altre nuove opzioni del compilatore. Una caratteristica fondamentale di IBM XL CC Advanced Edition V7.0 per AIX è ulteriormente la compatibilità con GCC. Al fine di aiutare con il porting di codice che è stato originariamente scritto per GCC, un sottoinsieme di funzionalità legate a GNU CC è supportato da XL CC. È importante sottolineare che il CC del compilatore XL è ottimizzato per i sistemi PowerPC, tra cui POWER5. Ma ci sono alcune situazioni quando si utilizza il compilatore GCC potrebbe essere più attraente. Quando le applicazioni sono scritte utilizzando le API standard e compilati utilizzando GNU gcc o g compilatori loro porting su più piattaforme è molto più facile da realizzare. GCC ha molteplici lingua front-end per facilitare l'analisi più lingue. GCC è un compilatore portatile e gira su maggior parte delle piattaforme disponibili oggi, e supporta la maggior parte delle CPU commerciali a 64 bit. GCC è un compilatore nativo che può anche compilazione incrociata qualsiasi programma, producendo file eseguibili per un sistema diverso da quello usato da GCC sé. Questo consente al software di essere compilato per sistemi embedded che non sono in grado di eseguire un compilatore. GCC è scritto in C con una forte attenzione alla portabilità, e può compilare in sé, in modo che possa essere adattato a nuovi sistemi easily. Finally GCC ti dà la libertà di migliorare GCC esistenti e altri software GNU sviluppato da altri. Come sviluppatori cercano di supportare le loro applicazioni su molte piattaforme, con diversi compilatori su piattaforme differenti possono causare numerosi mal di testa. Se, invece, si utilizza il compilatore GCC, che è supportato su una grande varietà di piattaforme, riduce il mal di testa nel porting delle applicazioni da una piattaforma all'altra. GCC può rendere il vostro lavoro più facile, fornendo un ambiente compilatore comune attraverso le piattaforme. g è ora più vicino alla piena conformità con lo standard ISOANSI C. Si prega di notare che il sistema operativo predefinito AIX make non capisce il GCC rendere i file. Se si sta tentando di caricare compilatore GCC su AIX, è necessario disporre di GNU make file. È possibile stampare rendere - v per vedere ciò che è necessario per costruire il GCC. AIX 5L Binary Compatibility IBM fornisce la compatibilità binaria tra AIX 5.1, AIX 5.2 e AIX 5.3 versioni del sistema operativo. Pertanto le applicazioni in esecuzione su AIX 5.1 o su AIX 5.2 saranno eseguiti su 5.3 così com'è se seguono i criteri elencati nella dichiarazione di compatibilità binaria di IBM AIX 5L sul sito www-1.ibmserversaixoscompatibility. Detto questo, ISV variare selvaggiamente sui processi che utilizzano per aggiungere il supporto di un nuovo livello di rilascio del sistema operativo. Molti dei migliori ISV eseguire le proprie applicazioni attraverso una qualche forma di test. Nella maggior parte dei casi essi verrà eseguito attraverso un sottoinsieme delle loro procedure di collaudo finale prima l'aggiunta del supporto. Molti altri ISV, invece, rivedere i nostri dettagli di compatibilità binaria e aggiungere il supporto in base alla loro conformità applicazioni con la nostra dichiarazione. In entrambi i casi, non vi è alcuna necessità di ricompilare l'applicazione per portarli a AIX 5.3. Installazione di GCC su AIX Installazione di GCC su AIX è facile se si dispone i binari disponibili per la versione che si desidera installare sul proprio sistema AIX. I binari possono essere FTPd al vostro sistema AIX dai seguenti siti, come indicato nella sezione Argomenti correlati: Bull AIX Gratuito Hudson Valley Community College Open Source Software AIX 5L e 6 Open Source pacchetti IBM AIX Toolbox per applicazioni Linux Dopo aver scaricato il binario appropriato file di formato, chmod il file scaricato in modalità eseguibile, e quindi eseguire SMIT da installare. Il supporto per AIX 5.2 è stato aggiunto nella versione 3.3 di GCC. L'IBM AIX Toolbox per Linux sito applicazioni web ha GCC 3.3.2 binari disponibili come questa volta per AIX 5.1 e 5.2. Il sito Gratuito BULL ha anche la versione GCC 3.3.2 binari disponibili per AIX 5.2. Se avete bisogno di una nuova versione di GCC, è necessario installare prima un GCC binario disponibile sul sistema. Una volta che avete installato GCC, lo si può utilizzare per compilare la versione più recente di GCC sul sistema AIX. Argomenti correlati per trovare il set completo di istruzioni per l'installazione del CCG e note di installazione HostTarget-specifici per GCC. E 'importante seguire attentamente le istruzioni specifiche della piattaforma. Leggere attentamente le istruzioni prima di iniziare la costruzione e processo di installazione. Si potrebbe trovare GCC costruire rapporti utili per garantire installato con successo 4.3.x GCC (vedi argomenti correlati). In questo momento, ci sono costruire rapporti per AIX 5.3. Assicurarsi che si installa una versione di GCC che corrisponde al rilascio AIX installato sul sistema. GCC installa copie private di alcuni file di intestazione che devono integrarsi correttamente con i file di intestazione sistema AIX per GCC funzioni correttamente, altrimenti esegue il compilatore in grado di produrre messaggi di errore sui file di intestazione. I file di intestazione devono essere ricostruite se non corrispondono. È possibile eliminare la cache dei file di intestazione per costruire una nuova versione di GCC da fonti con una vecchia versione, ma GCC non deve essere utilizzato senza la cache dei file di intestazione. opzioni del compilatore GCC C'è una vasta gamma di opzioni di compilazione disponibili su GCC, che vanno dalla ottimizzazione del codice, l'impostazione o la soppressione ISOANSI compilazione codice standard, per le opzioni di debug, codice modello di opzioni di compilazione. GCC offre anche alcune opzioni del compilatore specifiche per i pSeries (precedentemente noto come RS6000) e le piattaforme PowerPC. Una descrizione completa delle opzioni disponibili per il potere e PowerPC obiettivi può essere trovato alla gcc. gnu. orgonlinedocsgcc-3.4.3gccRS002f6000-e-PowerPC-Options. htmlRS002f6000-e-PowerPC-Opzioni. Qui andremo attraverso alcune delle opzioni che riteniamo essere più rilevante. Tra le opzioni che impostare il tipo di processore, come ad esempio - mcpu e - mtune. è meglio usare le impostazioni predefinite che GCC fornisce. Su AIX 4.3 e AIX 5.1, il valore predefinito è - mcpucommon - questo codice funziona su tutti i membri delle pSeries (RS6000) famiglie di processori. Su AIX 5.2 e versioni successive, il valore predefinito è - mcpupowerpc - questo codice funziona su processori PowerPC pSeries. GCC assume un recente tipo di processore associato con il rilascio AIX come un modello di processore per scopi di pianificazione. Si dovrebbe usare - mcpupower. - mcpupower2. - mcpupowerpc. - mcpupower4. ecc per ottimizzare per un processore specifico o la classe di processori. Non utilizzare il - mpower. - mpowerpc. - mpower2. o - mpowerpc64 opzioni. Anche se sono disponibili, non sono destinati per gli utenti finali. Utilizzando - mpower2 o altre opzioni in isolamento possono causare risultati imprevedibili perché il compilatore non può essere in uno stato di auto-consistente per questo processore target. Per compilare un'applicazione in modalità a 64 bit, si dovrebbe utilizzare l'opzione - maix64. che consente al AIX 64-bit ABI quali: puntatori a 64 bit, tipo lungo 64 bit, e le infrastrutture necessarie per sostenerli. Specificando - maix64 implica - mpowerpc64 e - mpowerpc. mentre - maix32 disabilita il 64-bit ABI e implica - mno-powerpc64. GCC default - maix32. Se si ottiene un messaggio di errore di linker dicendo che avete inondato la disposizione TOC (Table of Contents) spazio, è possibile ridurre la quantità di spazio utilizzato TOC utilizzando - mminimal-toc. Per impostazione predefinita GCC utilizza - mfull-toc che destina almeno una voce del sommario per ciascuna di riferimento variabile non automatico unico nel programma. GCC pone anche le costanti in virgola mobile nel sommario. Tuttavia, solo 16.384 voci sono disponibili nel sommario, e la sua possibilità di overflow del TOC. Specificando - mminimal-toc GCC fa una sola voce del sommario per ogni funzione. compila - pthread e links il codice dell'applicazione con la libreria POSIX dei thread, proprio come si farebbe in VisualAge (o XL) CC. Con VisualAge (o XL) CC, è possibile anche compilare e collegamento mediante XLCR o XLCR per ottenere il supporto filo, ma questa opzione doesnt esistere con GCC. codice threaded dovrebbe quindi essere collegato con - pthread per GCC. L'opzione - pthread imposta bandiere sia per il preprocessore e linker. L'opzione - g genera informazioni di debug, inadempiente per - gxcoff a livello 2. Le informazioni di debug può contenere alcune estensioni destinate alla GNU Debugger (GDB). Per produrre più compatibile con AIX dbx informazioni di debug, si può usare l'opzione - gxcoff. GCC per AIX non supporta completamente - msoft-float. Si spegne l'uso di galleggiare registri punto all'interno di GCC, ma librerie di supporto GCC e librerie AIX continuerà ad utilizzare i registri in virgola mobile. - mlittle-endian e - mcall-linux non sono valide nella configurazione AIX. La documentazione parla di tutte le opzioni per tutti i target GCC RS6000. Non sono disponibili in ogni configurazione tutte le opzioni. Per passare le opzioni al linker AIX nativo direttamente, usare - Wl, ltlinker optiongt. G e GCC opzioni del compilatore Allo stesso modo, una descrizione completa delle opzioni del compilatore gcc specifiche possono essere trovati a gcc. gnu. orgonlinedocsgcc-3.4.3gccC dialetto-Options. htmlC20Dialect20Options. Queste opzioni sono anche lo stesso su AIX come altri sistemi UNIX. L'opzione di ottimizzazione più-comune è - O2. che consente una serie di ottimizzazioni per migliorare le prestazioni del file eseguibile risultante o libreria. - O3 Consente più ottimizzazioni che possono migliorare le prestazioni a scapito del tempo di compilazione supplementare. - Os Consente ottimizzazioni che aumentano le prestazioni, ma cerca di ridurre al minimo le dimensioni del codice. Ulteriori opzioni di ottimizzazione che sono utili per applicazioni scientifiche computazionalmente intensive includono - funroll-loop e - ffast-matematica. - ffast-matematica consente al compilatore permette al compilatore di migliorare le prestazioni a scapito di esatto IEEE e ISO conformità per funzioni matematiche. Le librerie condivise su AIX rispetto ai sistemi System V. In primo luogo, guardiamo le differenze tra i sistemi AIX e System V rispetto alle librerie condivise. Ci sarà poi discutere su come creare librerie condivise sui sistemi AIX utilizzando GCC. AIX e System V hanno diversi punti di vista di oggetti condivisi. AIX vede generalmente oggetti condivisi come entità completamente collegate e risolti, in cui i riferimenti dei simboli sono risolti al collegamento in tempo e non possono essere rimbalzo al carico-tempo. System V li vede come molto simile a file oggetto comune in cui viene eseguita la risoluzione di tutti i simboli globali a run-time dal linker. Tuttavia, AIX ha la capacità di fare run-time di collegamento (RTL), in modo che i simboli possono essere lasciati indefiniti fino loadtime, quando viene eseguita una ricerca tra tutti i moduli caricati per trovare le definizioni necessarie. Un modulo condiviso in AIX può essere un file oggetto o un membro file di archivio che può contenere condivisa moduli eo file oggetto. In System V, librerie condivise sono sempre file ordinari, creati con opzioni speciali. In AIX, in generale tutti i linkers ingresso oggetti condivisi sono elencati come dipendenti del file di output solo se vi è un riferimento ai rispettivi simboli. AIX fa anche uso di file di esportazione per l'esportazione in modo esplicito i simboli. In System V i nomi di tutte le librerie condivise elencati nella riga di comando vengono salvate nel file di output per un eventuale impiego con carico-tempo. Tuttavia, a partire dal AIX 4.2 e disponibile in tutte le versioni attualmente disponibili di AIX (4.3, 5.1, e 5.2), l'opzione - brtl fa sì che tutti gli oggetti condivisi (ad eccezione dei membri archivio) sulla riga di comando per essere elencati come oggetti dipendenti in uscita file. Per ulteriori informazioni, vedere AIX Linking e meccanismi di caricamento (PDF 184KB). Con GCC, GCC - shared crea una libreria condivisa. Il linker esporta automaticamente alcuni simboli, ma è possibile utilizzare aixs ld - bexpall esportare più simboli. I simboli con sottolineature non sono ancora esportati automaticamente. Su AIX 5.2 o AIX 5.1 a livello di manutenzione 2, è possibile utilizzare la nuova opzione di collegamento - bexpfull che esporterà tutti i simboli e non saltare i simboli che iniziano con un carattere di sottolineatura (come C nomi alterati). Per un controllo completo, del suo meglio per creare un file di esportazione. Se non si ha familiarità con i file di esportazione aixs, AIX collegamento e caricamento meccanismi (PDF 184KB). gcc - shared crea un oggetto condiviso AIX-stile, strettamente legato, come descritto brevemente nella AIX vs sezione SystemV sopra. gcc - shared invoca il linker AIX con - BM: SRE - bnoentry. Pertanto, non avete bisogno di duplicare queste due opzioni AIX. Utilizzando - brtl. il linker AIX cercherà librerie sia con il. a e. so estensioni, come libfoo. a e libfoo. so. Senza - brtl. il linker AIX guarda solo per libfoo. a. È possibile creare libfoo. a semplicemente l'archiviazione di un oggetto condiviso o anche rinominando l'oggetto condiviso come libfoo. a - AIX cura pretende molto, fino a quando il suffisso del file è. a. Per utilizzare AIX run-time di collegamento, è necessario creare l'oggetto condiviso utilizzando gcc - shared - Wl, - G e creare eseguibili utilizzando la libreria aggiungendo il - Wl. opzione - brtl alla linea di collegamento. Tecnicamente, è possibile lasciare fuori l'opzione - shared, ma lo fa nessun danno e riduce la confusione. Se si desidera creare un oggetto condiviso con GCC, avete solo bisogno di usare gcc - shared e, possibilmente, l'opzione - bexpfull o un file di esportazione si fa riferimento con - Wl. - Essere: ltexport filenamegt. exp. È così semplice. Possibili problemi quando si utilizzano GCCG su AIX Qui ci sono alcuni problemi possibili che si potrebbe scoprire in utilizzando GCC o G su AIX. Per ogni, abbiamo prima descritto il problema, e poi ci mostrano la soluzione per questo problema. Non è possibile utilizzare il linker GNU su AIX ciò causerebbe binari in modo errato collegate. Per impostazione predefinita, il linker AIX viene utilizzato quando si usa GCC su AIX. Si consiglia di utilizzare solo il linker predefinita AIX. Quando si compila e il collegamento con - pthread, il percorso di ricerca biblioteca dovrebbe includere - Lusrlibthreads all'inizio del percorso. Controllare l'uscita della discarica - HV, Archi importazione di file, l'ingresso 0, per vedere quali sono i percorsi. I fili sottodirectory deve sempre venire prima usrlib e lib. L'esecuzione del foo - o gcc. - Lpath - lmylib Doesnt lavoro. Cant aprire la biblioteca perché sembra per una libreria libmylib. a statica invece di libmylib. so. Se l'estensione. so viene modificato in. a, funziona benissimo - si compila e funziona. Entrambe le biblioteche d'archivio e le librerie condivise su AIX possono avere un'estensione. a. Ciò spiega perché si collegamento sopraelevazione con un. so e perché funziona con il nome cambiato in. a. Quando si esegue un'applicazione a 64-bit C utilizzando le librerie C condivise e la gestione delle eccezioni, l'applicazione si blocca. GCC 3.4.3 corregge un errore che impediva la gestione delle eccezioni C attraverso librerie condivise di funzionare correttamente in modalità a 64 bit. Collegamento un'applicazione con un archivio di file oggetto (biblioteca normale, non libreria condivisa) produce messaggi di errore relativi simboli non risolti. Ciò può verificarsi se una libreria contiene file oggetto con riferimenti a simboli al di fuori della biblioteca che il programmatore pensato che il linker sarebbe ignorare. GCC fornisce un wrapper per il linker sistema che esegue la scansione di tutti i file oggetto e le librerie non condivisi per costruttori e distruttori. Questo viene fatto prima che il linker ha l'opportunità di saltare i file oggetto non necessari nella libreria perché una funzione o dati possono essere consultati solo in un costruttore o distruttore. La scansione può trovare costruttori e distruttori che l'applicazione normalmente non fanno riferimento, che richiedono ulteriori definizioni dei simboli per soddisfare il collegamento. L'alternativa sarebbe perdere costruttori e distruttori richieste dall'applicazione perché alcuni file oggetto nella libreria sembravano essere non necessari e sono stati omessi, ma in realtà fornito costruttori e distruttori richiesti. Questa omissione causerebbe l'applicazione per rompere. Quando si cerca di compilare GCC su AIX, i messaggi di errore assembler alla fine il risultato. Per risolvere questo problema, assicurarsi che non si utilizza una vecchia versione del assemblatore GNU, che non capisce certe mnemonici PowerPC. E 'preferibile utilizzare l'assemblatore AIX come discusso nelle istruzioni di installazione AIX sul sito web di GNU GCC. A volte si potrebbe ottenere questo messaggio di errore durante il collegamento: Questo errore più probabile indica che il disco è pieno o, o che la variabile d'ambiente ULIMIT non permetterà il file di essere il più grande di quanto dovrebbe essere. G doesnt fare nome mangling nello stesso modo come VisualAge (o XL) C. Ciò significa che i file oggetto compilati con un compilatore non può essere utilizzato con un altro. L'assemblatore GNU (GAS) pretende molto supporto PIC. Per generare il codice PIC, è necessario utilizzare qualche altro assemblatore, come ad esempio il binas AIX assembler nativo. Su AIX, la compilazione di codice del modulo: farà sì che il linker segnalare un simbolo foo definito. Anche se questo comportamento è diverso dalla maggior parte degli altri sistemi, non è un errore, perché ridefinire una variabile extern come statica è definito in ANSI C. Nelle versioni GCC prima di GCC 3.4, non passa tutte le strutture per valore. GCC 3.4 ora ha un migliore supporto ABI per argomento la struttura di passaggio. Anche se questo cambiamento porta GCC più vicino al rispetto AIX ABI, questi cambiamenti possono creare incompatibilità con il codice compilato da versioni precedenti. Per ulteriori informazioni, vedere gcc. gnu. orggcc-3.4powerpc-abi. html. Quando GCC è costruito per una particolare versione di AIX, genera alcuni file specifici per questa versione del sistema operativo suoi file header e. Questo può causare problemi durante l'utilizzo che GCC costruito su una versione più recente del sistema operativo, anche solo bootstrap il compilatore sul sistema operativo più recente. Un esempio di questo problema si verifica quando si costruisce GCC su AIX 5.2 con GCC compilato per AIX 5.1 (o precedente). AIX 5.2 ha aggiunto il supporto per la funzione Atoll (), ma GCC costruito per AIX 5.1 include una copia cache di stdlib. h che non include il prototipo per quella funzione. Il valore di ritorno di un default senza prototipo di funzione a int invece di lungo lungo, causando GCC per convertire in modo non corretto alcune stringhe. Per bootstrap GCC su AIX 5.2, il file di intestazione stdlib. h fisso nella cache GCCS deve essere rimosso in modo che venga utilizzato il file di intestazione 5.2 AIX. Il file di intestazione sistema può essere utilizzato dalla generazione precedente di GCC di bootstrap del compilatore. Un esempio Ecco un esempio di avere una grande dimensione dello stack abbastanza per thread e il corrispondente Makefile utilizzando GCC per compilare un programma che utilizza pthreads. L'array è allocato sulla pila, non nella sezione di dati. Il problema è la dimensione dello stack per ogni thread. È necessario utilizzare le funzioni di pthread appropriate per aumentare la dimensione dello stack di thread di default. Senza il codice di AIX ifdef sotto, questo codice coredump. Risorse scaricabili Argomenti correlati Valutare XL CC per la home page AIX GCC Gnu. Visita il sito di GCC per ulteriori informazioni. Bull AIX Freeware. Ottenere una vasta selezione di software Open Source per la vostra AIX. FTP i binari per il sistema AIX dal sito Bull AIX Freeware, AIX 5L e 6 siti pacchetti Open Source, o IBM AIX Toolbox per il sito di applicazioni Linux. Fare riferimento al set completo di istruzioni per l'installazione di GCC e gcc. gnu. orginstallspecific. html-IBM-Aix per le istruzioni specifiche della piattaforma. Si potrebbe trovare GCC costruire rapporti utili per garantire installato con successo GCC. Per ulteriori informazioni sul progetto GNU e il compilatore GCC, visitare il sito web ufficiale a gcc. gnu. org. Un elenco delle nuove caratteristiche di GCC versione 4.2 è in gcc. gnu. orggcc-4.2changes. html. Allo stesso modo, l'elenco delle nuove funzionalità nella versione 4.3 di GCC è a gcc. gnu. orggcc-4.3changes. html. Accedi o registrati per aggiungere e sottoscrivere comments. GCC, la GNU Compiler Collection La GNU Compiler Collection include front-end per C. C. Objective-C, Fortran. Ada, e Go, così come librerie per queste lingue (libstdc.). GCC è stato originariamente scritto come il compilatore per il sistema operativo GNU. Il sistema GNU è stato sviluppato per essere al 100 software libero, libero nel senso che rispetta la libertà degli utenti. Ci sforziamo di fornire regolari, stampa di alta qualità. che vogliamo lavorare bene su una varietà di obiettivi nativi e trasversali (tra cui GNULinux), e incoraggiare tutti a contribuire modifiche o aiutare test GCC. Le nostre fonti sono facilmente e liberamente disponibile via SVN e istantanee settimanali. Le decisioni più importanti su GCC sono fatte dal comitato direttivo. guidato dalla missione. è stato aggiunto RISC-V supporto 2017/02/02 supporto per il RISC-V ISA, hanno contribuito da Palmer Dabbelt e Andrew Waterman. BRIGHSAIL (eterogenei Systems Architecture Intermediate Language) frontend aggiunto 2017/02/01 Heterogeneous Systems Architecture 1.0 BRIG (HSAIL) frontend è stato aggiunto al GCC. consentendo HSAIL finalizzazione per gli obiettivi gcc-sostenuta. Il codice è stato sviluppato da Parmance con la sponsorizzazione da General Processor Technologies. Supporto 2017/01/10 supporto Fucsia Fucsia OS OS è stato aggiunto al GCC, fornito da Google. GCC 6.3 rilasciato 2016/12/21 GCC 6.2 rilasciato 2016/08/22 GCC 4.9.4 rilasciato 2016/08/03 GCC 5.4 rilasciato 2016/06/03 2015 ACM Award Software di sistema 2016/04/29 GCC 6.1 rilasciato 2016-04 -27 Heterogeneous Systems Architecture supporto 2016/01/27 eterogenei Systems Architecture 1.0 supporto è stato aggiunto al GCC. contributo di Martin Jambor, Martin Lika e Michael Matz da SUSE. GCC 5.3 rilasciato 2015-12-04 Uscite supportate

No comments:

Post a Comment