Введение

Бесплатная, с открытым исходным кодом, кроссплатформенная IDE Code::Blocks — это бесплатная, с открытым исходным кодом, кроссплатформенная IDE, поддерживающая множество компиляторов, включая GCC, Clang и Visual C++. Она разработана на C++ с использованием wxWidgets в качестве инструментария графического интерфейса. Благодаря плагинной архитектуре, её возможности и функциональность определяются установленными плагинами. В настоящее время Code::Blocks ориентирована на языки C, C++ и Fortran. Она имеет собственную систему сборки и опциональную поддержку Make. Code::Blocks разрабатывается для Windows и Linux и портирована на FreeBSD, OpenBSD и Solaris. Последняя доступная сборка для macOS — версия 13.12, выпущенная 26 декабря 2013 года (совместима с Mac OS X 10.6 и более поздними версиями), однако более новые версии можно скомпилировать, а MacPorts предоставляет версию 17.12.

История

После выпуска двух релиз-кандидатов, 1.0rc1 25 июля 2005 года и 1.0rc2 25 октября 2005 года, вместо выпуска финальной версии, разработчики проекта приступили к добавлению множества новых функций, в результате чего финальный релиз неоднократно откладывался. Вместо этого ежедневно публиковались ночные сборки последней версии SVN. Первый стабильный релиз состоялся 28 февраля 2008 года под номером версии 8.02. Система нумерации версий была изменена в соответствии со схемой Ubuntu, где основной и дополнительный номера обозначают год и месяц выпуска соответственно. Версия 20.03 является последней стабильной версией, однако для получения самой актуальной версии пользователь может загрузить относительно стабильную ночную сборку или скачать исходный код из SVN. В апреле 2020 года в IDE Code::Blocks версии 17.12 была обнаружена критическая уязвимость программного обеспечения, идентифицированная как CVE 2020 10814. Компания Jennic Limited распространяет версию Code::Blocks, настроенную для работы со своими микроконтроллерами.

Компиляторы

Code::Blocks поддерживает несколько компиляторов, включая GCC, MinGW, Digital Mars, Microsoft Visual C++, Borland C++, LLVM Clang, Watcom, LCC и компилятор Intel C++. Хотя среда разработки была разработана для языка C++, имеется некоторая поддержка и других языков, таких как Fortran и D. Система плагинов позволяет расширить поддержку другими языками программирования.

Редактор кода

IDE предлагает подсветку синтаксиса и сворачивание кода (через компонент редактора Scintilla), автодополнение кода C++, обозреватель классов, шестнадцатеричный редактор и множество других полезных инструментов. Открытые файлы организованы во вкладки. Редактор кода поддерживает выбор шрифта и размера шрифта, а также настройку цветов подсветки синтаксиса.

Дебьюгер

Дебгер Code::Blocks обладает полной поддержкой точек останова. Он также позволяет пользователю отлаживать программу, предоставляя доступ к локальным символам функции и отображению аргументов, пользовательским наблюдениям, стеку вызовов, дизассемблированному коду, пользовательской дампе памяти, переключению между потоками, регистрам процессора и интерфейсу GNU Debugger.

Дизайнер графического интерфейса

С версии 13.12 Code::Blocks включает в себя графический дизайнер под названием wxSmith. Это производная версия, портированная из wxWidgets 2.9.4. Для создания полноценного приложения wxWidgets необходимо установить соответствующий SDK wxWidgets.

Миграция пользователей

Некоторые возможности Code::Blocks ориентированы на пользователей, переходящих с других сред разработки. В их числе — импорт проектов Dev-C++, Microsoft Visual C++ (MSVC 7 и 10) и поддержка пакетов Devpak для Dev-C++.

Файлы проекта и система сборки

Code::Blocks использует собственную систему сборки, которая хранит информацию в файлах проекта, основанных на XML. Она также может использовать внешние make-файлы, что упрощает работу с проектами, использующими системы сборки GNU или qmake.