2010-11-09 9 views
12

Volevo sapere qual è l'attuale compilatore C standard utilizzato dalle aziende. Conosco i seguenti compilatori e non capisco quale utilizzare per scopi di apprendimento.Compilatore C standard attuale?

  1. Turbo C
  2. Borland C
  3. GCC
  4. DJGPP

sto imparando C in questo momento e facendo riferimento al libro R K &.

Qualcuno può indicarmi quale compilatore utilizzare?

+5

GCC fino in fondo ... il compilatore più veloce, più utilizzato e meglio supportato. –

+3

Ricorda che gcc, per impostazione predefinita, non è un compilatore conforme. Si consiglia di dare un'occhiata al suo manuale e controllare le molte opzioni disponibili. 'gcc -std = c99 -pedantic -Wall -Wextra' fornisce un'invocazione ragionevole :-) – pmg

+3

che dire di [clang] (http://clang.llvm.org/)? –

risposta

15

GCC sta per avere il miglior supporto delle scelte che hai elencato per il semplice motivo che è standard in GNU ed è il target di Linux. È molto improbabile che qualsiasi organizzazione utilizzi gli altri tre oltre a supportare alcune applicazioni orribili.

altri compilatori C si potrebbe guardare in includono:

  • Clang: un up-and-comer, in particolare per BSD e Mac OS X
  • Visual Studio Express: per la programmazione di Windows
  • Intel Compiler Suite: molto alto prestazione; costa
  • Portland Group: un altro compilatore commerciale ad alte prestazioni; utilizzato tipicamente per supercomputer
  • PathScale: Ancora un altro compilatore commerciale ad alte prestazioni
+2

+1 Mi piace anche tcc (http://bellard.org/tcc/), il "Tiny C Compiler"; in particolare per il trattamento di snippet veloci come script ('tcc -run snippet.c') – pmg

20

GCC sarebbe il compilatore standard open source, meglio supportato e più veloce utilizzato dalla maggior parte delle persone (sane).

+0

okie capito ... grazie !! –

+10

Wow, è un po 'troppo.Il compilatore di Intel è stato il 20-30% più veloce di GCC per tutto il tempo che posso ricordare, e finora so che nulla è cambiato di recente. – stonemetal

+2

Le società di solito si standardizzano sul compilatore fornito con il sistema operativo. VS C++ per windows, gcc per linux, il compilatore fornito da Oracle, IBM o HP per altri unix. –

2

A mio parere GCC è la soluzione migliore, è aggiornato frequentemente e viene utilizzato su molte piattaforme (OSX, Linux e così via).

-2

gcc è migliore e gratuito. VAI PER GNU!

+3

cura di spiegare "meglio" per il resto del mondo? Questa risposta non aggiunge molto. – Flexo

+0

oh intendevo al meglio, come meglio in caso di "libertà". – prap19

7

Se stai iniziando a imparare la lingua, Clang's much better diagnostics ti aiuterà.

Per rendere la sezione degli strumenti di applicazioni (di lavoro) migliore, GCC (e forse Visual Studio) sono buoni da conoscere.

+0

Sì, clang è molto bravo in diagnostica. Ma lo prendo dall'elenco di compilatori che lo scrittore è in esecuzione su una piattaforma Windows. Quanto è facile impostare clang su Windows? – onemasse

+0

Vedere [here] (http://llvm.org/releases/download.html) per i binari. –

2

GCC (che utilizzo in quei rari momenti in cui utilizzo C) o ICC (Intel C Compiler), sebbene ICC sia noto per la creazione di codice che funziona lentamente su processori AMD.

3

dipende dalla piattaforma che si sta utilizzando e la pianificazione per imparare o farà lo sviluppo futuro.

Su Windows è possibile utilizzare Visual Studio Express C++ che supporta l'utilizzo ANSI C standard. L'opzione due è Cygwin che è una libreria e un set di strumenti che replica gran parte di ciò che usereste su Linux o altri SO in stile Unix (utilizza GCC).

Sul Mac è necessario XCode, che è lo strumento di sviluppo standard incluso il compilatore C (basato su GCC).

Su molti sistemi di tipo Unix sarà cc o gcc in base al fornitore del sistema operativo.

Se hai i soldi, alcuni dei compilatori a pagamento come Intel sono eccezionali ma probabilmente non saranno di grande aiuto nell'apprendimento del mestiere di programmazione a questo punto.

+0

Che dire di MinGW per Windows? – alternative

+3

Visual Studio Express C++, secondo Microsoft, non supporta C99. E, credo, non ci sono piani per farlo farlo neanche. – pmg

+0

Visual Studio Express non supporta neanche x86-64. C'era una soluzione, ma MS ha cambiato l'aspetto del registro in modo che la soluzione non si applichi più. Oltre a Express installa un sacco di spazzatura, quindi se decidi di ritirarti stai guardando alle 25-30 disinstallazioni prima che tu abbia finito. –

0

Posso consigliare OpenWatcom, utilizzato in passato per sviluppare Netware. Supporta solo IA-32 ma lo fa bene. Contiene un IDE di base e un profiler semplice ma competente. Qualcosa per il vero programmatore :)

Poi c'è Pelles C che supporta x86-64. Ha un IDE di tipo VC di base ma pochi programmi di supporto.

Mi piacciono questi due perché i compilatori sono competenti e si procede rapidamente senza doversi preoccupare dei manuali e chiedersi cosa significano le opzioni.

1

Se si utilizza il sistema operativo LINUX, GCC è il miglior compilatore. È possibile separare ogni fase del compilatore come pre-elaborazione, assemblatore, linker separatamente nel compilatore GCC utilizzando alcune opzioni della riga di comando. È possibile analizzare passo dopo passo la compilazione del codice sorgente C facilmente. Suggerisco di andare per "GNU C COMPILER (GCC)". È possibile utilizzare il comando "CC", non è altro che un collegamento simbolico a GCC.

0

Se siete su Windows Utilizzare MinGW o come la maggior parte hanno suggerito ggo con GCC su Linux

Anche se naturalmente dal momento che è a riga di comando per cui si potrebbe trovare Dev-C++ e/o Code :: Blocks, Eclipse CDT, ecc, che sono IDE utili per rendere più semplice il tuo lavoro.

Non c'è uno standard e ogni compilatore e le sue librerie differiscono l'uno dall'altro.