Code::Blocks
# Code::Blocks

Code::Blocks (ou C::B) é um ambiente de desenvolvimento integrado de código aberto e multiplataforma. Ele foi desenvolvido em C++, usando wxWidgets. Sua arquitetura é orientada a plugin, de forma que suas funcionalidades são definidas pelos plugins fornecidos a ele. Code::Blocks é voltado para o desenvolvimento em C/C++ e Fortran, podendo também ser usado para a criação de ARM, AVR, D (linguagem de programação), DirectX, FLTK, GLFW, GLUT, GTK+, Irrlicht, Lightfeather, MATLAB, OGRE, OpenGL, Qt, SDL, SFML, STL, SmartWin e programas ou aplicativos com wx, embora, em certos casos, a instalação de SDKs ou frameworks seja necessária.
O Code::Blocks está sendo desenvolvido para Windows e Linux. Alguns usuários também compilaram com sucesso o Code::Blocks para FreeBSD e Mac OS X (com alguns problemas na interface$^[$).
Esse programa não lançava uma versão estável desde 2008, lançando no lugar as chamadas Nightly builds. Em 30 de Maio de 2010 foi lançada a versão 10.05, em 2012 a versão: 12.11, lançada em 2013 a versão 13.12, e a última é a 16.01 lançada em 2016.

## Compilador

O Code::Blocks suporta múltiplos compiladores, incluindo MinGW/GCC, Digital Mars, Microsoft Visual C++, Borland C++, LLVM Clang, Watcom, LCC e Intel C++ Compiler. Embora a IDE tenha sido projetada para a linguagem C++, existem suporte para compilar em outras linguagens, incluindo GNU Fortran, Digital Mars D e GNU GDC. Um sistema de plugin permite o suporte e outras linguagens de programação.

### Editor de código

A IDE permite syntax highlighting e code folding, auto completar código em C++ e lista de classes integradas e uma lista de TODO. Todos os arquivos abertos são organizados em tabas, que podem ser fechadas clicando no X ou abertas pelo painel de navegação. O editor de código suporta seleção do tamanho e tipo da font. Pode-se as cores padrões do syntax highlighting.

### GUI designer

A partir da versão 13.12 do Code::Blocks, a GUI vem com um designer chamado wxSmith, um derivado do wxWidgets baseado na versão 2.9.4.