Quale compilatore C dovrei scaricare per Windows?

Se sei interessato a imparare a programmare in C troverai questa lista di compilatori C utile. La maggior parte di questi compilatori fanno C++ e C. Basta rinominare i file per avere l'estensione .c. Ma prima di andare avanti con la lista, bisogna sapere cos'è un compilatore.

Cos'è un compilatore?

Un compilatore è un programma per computer (o un insieme di programmi) che trasforma il codice sorgente scritto in un linguaggio di programmazione (il linguaggio sorgente) in un altro linguaggio per computer (il linguaggio di destinazione), con quest'ultimo che spesso ha una forma binaria conosciuta come codice oggetto.

main-qimg-4c5fe74fe78f605d20edb58f5cfcef54.webp

Elenco dei compilatori C gratuiti:

  • Turbo C++: è un compilatore C++ e un ambiente di sviluppo integrato e linguaggio per computer fuori produzione, originariamente della Borland. Turbo C++ è stato sostituito da C++Builder.
  • Bloodshed Dev-C++: è un ambiente di sviluppo integrato (IDE) completo per il linguaggio di programmazione C/C++. Usa il port Mingw di GCC (GNU Compiler Collection) come compilatore. Dev-C++ può anche essere usato in combinazione con Cygwin o qualsiasi altro compilatore basato su GCC.
  • Compilatori MinGW: Forniscono l'accesso alle funzionalità del runtime di Microsoft C e ad alcuni runtime specifici della lingua. MinGW, essendo minimalista, non cerca, e non cercherà mai, di fornire un ambiente runtime POSIX per lo sviluppo di applicazioni POSIX su MS-Windows. Se volete distribuire applicazioni POSIX su questa piattaforma, considerate invece Cygwin.

main-qimg-399a28639e0ac3c1038c90550656bf37.webp

  • Microsoft Visual Studio Express per Windows Desktop: Non a tutti piace Microsoft, ma non si può negare che forniscono un ottimo codice con un eccellente IDE. Ha bisogno di .NET e Windows 7 o successivo, anche se è possibile compilare per win 32, (senza MFC) con la parte C++ e VB.NET/C#. Richiede una registrazione gratuita.
  • Open Watcom: Sta diventando un po' vecchiotto e l'IDE non è il massimo, ma funziona su Windows 2000 (probabilmente 98) così come su Windows più recente.
  • GCC: Il classico compilatore C open source per Linux e molti altri sistemi operativi (e Windows sotto Cygwin o Ming). Un progetto che esiste da sempre. Eccellente software open source di qualità. Non viene fornito con un IDE (che generalmente dipende dalla piattaforma) ma ce ne sono molti là fuori, per esempio MonoDevelop su Linux.
  • Digital Mars C/C++ Compiler: Il loro IDE costa ($42.55) ma il compilatore Basic C/C++ Win 32 è gratuito.
  • Tiny C - Compilatore: TinyCC (aka TCC) è un piccolo compilatore C veloce che è pensato per essere autosufficiente: non hai bisogno di un assemblatore o linker esterno perché TCC lo fa per te. Con l'aiuto di un'altra libreria può essere usato come generatore di codice backend. TCC compila così velocemente che anche per grandi progetti i Makefile possono non essere necessari.
  • Compilatore C portatile: Questo è stato sviluppato da uno dei primi compilatori C e all'inizio degli anni '80 la maggior parte dei compilatori C erano basati su di esso. La portabilità è stata progettata fin dall'inizio in contrasto con il compilatore C di Dennis Ritchie che era molto dipendente dall'hardware. Ora è stato sviluppato per essere compatibile con il C99.
  • Failsafe C: Un progetto giapponese del Research Team for Software Security al Research Center for Information Security (RCIS), National Institute of Advanced Industrial Science and Technology (AIST), Giappone, questa versione di C per Linux supporta oltre 500 funzioni (non C99 o Widechar). Fornisce una protezione completa contro gli accessi over-boundary ai blocchi di memoria, rendendolo sicuro come Java e C#.
  • Pelles C: è un kit di sviluppo gratuito per Windows e Windows Mobile che contiene un compilatore C ottimizzante, un assemblatore di macro, un linker, un compilatore di risorse, un compilatore di messaggi, un'utilità make e install builders sia per Windows che per Windows Mobile. Ha anche un IDE con gestione del progetto, debugger, editor di codice sorgente e editor di risorse per finestre di dialogo, menu, tabelle di stringhe, tabelle di accelerazione, bitmap, icone, cursori, cursori animati, video di animazione (AVI senza suono), versioni e manifesti XP.
  • CC65: È un pacchetto open source di sviluppo trasversale per sistemi 65(C)02, che include un potente assemblatore di macro, un compilatore C, un linker, un bibliotecario e diversi altri strumenti. Include il supporto per il Commodore C64, il sistema operativo GEOS per il Commodore C64, il Commodore C128, il Commodore C16, C116 e Plus/4, il Commodore P500, la famiglia di computer Commodore 600/700, l'Apple ][, le macchine Atari 8bit, l'Oric Atmos, il Nintendo Entertainment System (NES), la Supervision Game Console e la Atari Lynx Console
  • lcc: è un compilatore retargetable per lo Standard C. Genera codice per ALPHA, SPARC, MIPS R3000, e Intel x86 e i suoi successori. Compila programmi di produzione dal 1988 ed è usato da centinaia di programmatori C. Addison-Wesley ha pubblicato un libro su di esso, che documenta come funziona nel 1995 e che si può ancora comprare.
  • SDCC: è anche retargettizzabile, e ottimizza il compilatore ANSI - C che ha come target l'Intel 8051, Maxim 80DS390, Zilog Z80 e le MCU Motorola 68HC08. Ha la capacità di aggiungere codice assembler inline ovunque in una funzione, così come la segnalazione della complessità di una funzione per aiutare a decidere cosa dovrebbe essere riscritto in assembler e viene fornito con il debugger di livello sorgente SDCDB.
  • Borland C++ 5.5: è solo un download di 8,5 MB. Include il compilatore bcc32, il linker a 32 bit (tlink32), il Borland Resource Compiler / Binder (brc32, brcc32), il preprocessore C++ Win32 (cpp32) e alcune altre utilità per importare definizioni da librerie, e su dlls, exes più un file .hlp.
  • nesC: è un'estensione del linguaggio di programmazione C progettato per incarnare i concetti di strutturazione e il modello di esecuzione di TinyOS. TinyOS è un sistema operativo event-driven progettato per nodi di reti di sensori che hanno risorse molto limitate (ad esempio, 8K byte di memoria programma, 512 byte di RAM).
  • Cc386: è un compilatore Win 32 C gratuito, che supporta C99 (o lo farà presto). È stato messo insieme da David Lindauer nel corso di 8 anni e include il codice sorgente per il compilatore e gli strumenti. Include anche un IDE che fornisce compilazione, modifica e debug. Un risultato davvero impressionante per un solo individuo.
  • SubC: è un compilatore veloce e semplice di pubblico dominio per un sottoinsieme pulito del linguaggio di programmazione C su piattaforme Linux, FreeBSD e Windows. Può compilare se stesso ed è il soggetto di un libro "PRACTICAL COMPILER CONSTRUCTION" che spiega l'anatomia di un compilatore C.

Happy Coding!!!