Codice::Blocchi - Code::Blocks
![]() | |
|
Codice::Blocchi 16.01
| |
| Sviluppatore/i | Il codice :: Blocks team |
|---|---|
| Versione iniziale | 2005 |
| Rilascio stabile | 20.03 / 29 marzo 2020
|
| Repository |
|
| Scritto in | C++ ( wxWidgets ) |
| Sistema operativo | Multipiattaforma |
| genere | IDE |
| Licenza | Solo GPL-3.0 |
| Sito web | codeblocks |
Code::Blocks è un IDE multipiattaforma gratuito e open source che supporta più compilatori tra cui GCC , Clang e Visual C++ . È sviluppato in C++ utilizzando wxWidgets come toolkit GUI . Utilizzando un'architettura plug-in, le sue capacità e caratteristiche sono definite dai plug-in forniti. Attualmente, Code::Blocks è orientato verso C , C++ e Fortran . Ha un sistema di compilazione personalizzato e supporto Make opzionale .
Code::Blocks è stato sviluppato per Windows e Linux ed è stato portato su FreeBSD , OpenBSD e Solaris . L'ultimo binario fornito per la versione macOS è 13.12 rilasciato il 2013/12/26 (compatibile con Mac OS X 10.6 e versioni successive), ma è possibile compilare versioni più recenti e MacPorts fornisce la versione 17.12.
Storia
Dopo aver rilasciato due versioni candidate al rilascio, 1.0rc1 il 25 luglio 2005 e 1.0rc2 il 25 ottobre 2005, invece di fare una versione finale, gli sviluppatori del progetto hanno iniziato ad aggiungere molte nuove funzionalità, con il rilascio finale ripetutamente posticipato. Invece, c'erano build notturne dell'ultima versione di SVN rese disponibili su base giornaliera.
La prima versione stabile è stata il 28 febbraio 2008, con il numero di versione cambiato in 8.02. Lo schema di versioning è stato cambiato in quello di Ubuntu , con il numero maggiore e minore che rappresentano l'anno e il mese del rilascio. La versione 20.03 è l'ultima versione stabile; tuttavia, per la versione più aggiornata, l'utente può scaricare la build notturna relativamente stabile o scaricare il codice sorgente da SVN .
Nell'aprile 2020 è stata rilevata una vulnerabilità software critica nell'IDE Code::Blocks, identificata da CVE-2020-10814.
Jennic Limited distribuisce una versione di Code::Blocks personalizzata per funzionare con i suoi microcontrollori.
Caratteristiche
compilatori
Code::Blocks supporta più compilatori, inclusi GCC , MinGW , Digital Mars , Microsoft Visual C++ , Borland C++ , LLVM Clang , Watcom , LCC e il compilatore Intel C++ . Sebbene l'IDE sia stato progettato per il linguaggio C++, esiste un supporto per altri linguaggi, inclusi Fortran e D . È incluso un sistema di plug-in per supportare altri linguaggi di programmazione.
Editor di codice
L'IDE offre l' evidenziazione della sintassi e il ripiegamento del codice (tramite il suo componente editor Scintilla ), completamento del codice C++ , browser di classe, un editor esadecimale e molte altre utilità. I file aperti sono organizzati in schede. L'editor di codice supporta la selezione di caratteri e dimensioni dei caratteri e colori di evidenziazione della sintassi personalizzati.
Debugger
Il debugger Code::Blocks ha un supporto completo per i punti di interruzione. Consente inoltre all'utente di eseguire il debug del proprio programma accedendo alla visualizzazione dei simboli e degli argomenti della funzione locale, agli orologi definiti dall'utente, allo stack di chiamate, al disassemblaggio , al dump della memoria personalizzato, alla commutazione dei thread, ai registri della CPU e all'interfaccia del debugger GNU .
progettista della GUI
A partire dalla versione 13.12 Code::Blocks viene fornito con un designer GUI chiamato wxSmith. È un port derivato di wxWidgets versione 2.9.4. Per creare un'applicazione wxWidgets completa, è necessario installare l'SDK wxWidgets appropriato.
Migrazione utente
Alcune delle funzionalità di Code::Blocks sono destinate agli utenti che migrano da altri IDE, tra cui Dev-C++ , importazione di progetti Microsoft Visual C++ (MSVC 7 e 10) e supporto Dev-C++ Devpak.
File di progetto e sistema di compilazione
Code::Blocks utilizza un sistema di compilazione personalizzato, che memorizza le sue informazioni in file di progetto basati su XML. Può facoltativamente utilizzare makefile esterni, il che semplifica l'interfacciamento con i progetti che utilizzano i sistemi di compilazione GNU o qmake .
