Code::Blocks es un IDE gratuito , de código abierto y multiplataforma que admite varios compiladores, incluidos GCC , Clang y Visual C++ . Está desarrollado en C++ utilizando wxWidgets como kit de herramientas de interfaz gráfica de usuario . Utiliza una arquitectura de complementos, sus capacidades y características están definidas por los complementos proporcionados. Actualmente, Code::Blocks está orientado a C , C++ y Fortran . Tiene un sistema de compilación personalizado y soporte opcional para Make .
Code::Blocks se está desarrollando para Windows y Linux y se ha portado a FreeBSD , [2] OpenBSD [3] y Solaris . [4] El último binario proporcionado para la versión macOS es 13.12 lanzado el 26/12/2013 (compatible con Mac OS X 10.6 y posteriores), pero se pueden compilar versiones más recientes y MacPorts proporciona la versión 17.12.
Después de lanzar dos versiones candidatas a lanzamiento, 1.0rc1 el 25 de julio de 2005 y 1.0rc2 el 25 de octubre de 2005, en lugar de hacer un lanzamiento final, los desarrolladores del proyecto comenzaron a agregar muchas características nuevas, y el lanzamiento final se pospuso repetidamente. En su lugar, se lanzaron compilaciones nocturnas de la última versión de SVN a diario. [ cita requerida ]
La primera versión estable se publicó el 28 de febrero de 2008, y el número de versión se cambió a 8.02. El esquema de control de versiones se modificó al de Ubuntu , donde el número mayor y menor representan el año y el mes de la versión. La versión 20.03 es la última versión estable; sin embargo, para obtener la versión más actualizada, el usuario puede descargar la compilación nocturna relativamente estable o descargar el código fuente desde SVN.
Jennic Limited distribuye una versión de Code::Blocks personalizada para funcionar con sus microcontroladores. [5]
Code::Blocks es compatible con varios compiladores, incluidos GCC , MinGW , Mingw-w64 , Digital Mars , Microsoft Visual C++ , Borland C++ , LLVM Clang , Watcom , LCC y el compilador Intel C++ . Aunque el IDE fue diseñado para el lenguaje C++, hay cierto soporte para otros lenguajes, incluidos Fortran y D. Se incluye un sistema de complementos para admitir otros lenguajes de programación.
El IDE incluye resaltado de sintaxis y plegado de código (a través de su componente de edición Scintilla ), completado de código C++ , explorador de clases, un editor hexadecimal y muchas otras utilidades. Los archivos abiertos se organizan en pestañas. El editor de código admite la selección de fuentes y tamaño de fuente y colores de resaltado de sintaxis personalizados.
El depurador Code::Blocks tiene soporte completo para puntos de interrupción. También permite al usuario depurar su programa al tener acceso a la visualización de símbolos y argumentos de funciones locales, relojes definidos por el usuario, pila de llamadas, desensamblado , volcado de memoria personalizado, cambio de subprocesos, registros de CPU y la interfaz del depurador GNU .
A partir de la versión 13.12, Code::Blocks viene con un diseñador de GUI llamado wxSmith. Es un puerto derivado de la versión 2.9.4 de wxWidgets. [6] Para crear una aplicación wxWidgets completa, se debe instalar el SDK de wxWidgets adecuado.
Algunas de las características de Code::Blocks están dirigidas a usuarios que migran desde otros IDE: estas incluyen Dev-C++ , importación de proyectos de Microsoft Visual C++ (MSVC 7 y 10) y compatibilidad con Dev-C++ Devpak.
Code::Blocks utiliza un sistema de compilación personalizado que almacena su información en archivos de proyecto basados en XML. Opcionalmente, puede utilizar archivos make externos, lo que simplifica la interacción con proyectos que utilizan los sistemas de compilación GNU o qmake .