Перейти к основному содержимому

Легаси — C++ Builder и Win32 RAD

Разработчику
Для кого эта статья

Материал для сопровождения существующих проектов на C++ Builder / RAD Studio, а не для старта обучения C++. Новым desktop-приложениям в разделе рекомендуется маршрут Qt и CMake. Обзор современных компиляторов — в Компиляторы и toolchain.


Что это за стек

C++ Builder — проприетарная IDE и среда быстрой разработки (RAD) для Windows: визуальный редактор форм, компонентная библиотека VCL (Visual Component Library), встроенный компилятор Borland/Embarcadero, отладчик и менеджер проектов. Исторически продукт развивали Borland, затем CodeGear, сейчас линейку ведёт Embarcadero Technologies в составе RAD Studio (наряду с Delphi).

Типичный цикл разработки близок к Delphi: формы перетаскиваются на палитру, свойства компонентов правятся в инспекторе, код обработчиков событий пишется в IDE. Многие компоненты Delphi можно подключать в C++ Builder без переписывания.

ХарактеристикаC++ Builder / RAD StudioQt + CMake (раздел энциклопедии)
ЛицензияпроприетарнаяQt — коммерческая или LGPL
Платформыв первую очередь WindowsWindows, Linux, macOS, embedded
UIVCL, Win32-нативные контролыQt Widgets / Qt Quick
Сборка.cbproj, MSBuild-подобные сценарии EmbarcaderoCMakeLists.txt, кроссплатформенный CI
Целевая аудитория сегоднялегаси, внутренние Win32-утилитыновые кроссплатформенные продукты

Из чего состоит проект

  • Исходники .cpp / .h с кодом форм и модулей.
  • Файлы проекта Embarcadero (.cbproj, группы проектов .groupproj).
  • VCL — визуальные и невизуальные компоненты (кнопки, таблицы, отчёты, доступ к БД через FireDAC и др.).
  • Связка с Delphi — общие пакеты компонентов; команда может смешивать Delphi и C++ в одной RAD Studio.
  • Опционально STL и сторонние библиотеки, но стиль кода часто ближе к VCL-типам (AnsiString, UnicodeString, собственные контейнеры), чем к чистому modern C++.

Компилятор Embarcadero не является GCC, Clang или MSVC: это отдельный toolchain с собственными расширениями и форматами объектных файлов в рамках экосистемы Borland.


История в двух абзацах

Первая волна популярности — 1990–2000-е: быстрый Win32-GUI без ручной разметки HWND. Позже Borland пробовал ответвление C++BuilderX (другая IDE, ближе к Java-стилю) — коммерчески не прижилось; развитие вернули к класической линейке и объединили с Delphi в Borland Developer Studio, затем RAD Studio.

Актуальные релизы Embarcadero выходят регулярно (линейки вроде Alexandria, Athens, Florence). Для энциклопедии важен не номер версии, а правило: версия IDE и runtime-пакетов VCL должны совпадать у всех разработчиков и на сборочной машине.


Когда вы с этим столкнётесь

  • внутренние учётные, складские, АСУ ТП-клиенты под Windows;
  • наследие после команд, которые строили UI на VCL, а не на Qt или WPF;
  • интеграция с COM, legacy BDE/ADO, отчётами FastReport в экосистеме Embarcadero;
  • сопровождение кода, где в репозитории лежат .dfm / ресурсы форм и нет CMakeLists.txt.

В России и СНГ такие проекты ещё встречаются в промышленности и госсекторе — отсюда смысл короткой заметки в русскоязычной энциклопедии.


Чем опасно смешивать toolchain

Типичная ошибка — «добавим в проект одну .dll, собранную MSVC или MinGW». Объектные файлы Embarcadero, MSVC и GCC не взаимозаменяемы без явного C-интерфейса и согласованной линковки.

Безопасные границы:

  • extern "C" API для вызова из Builder в стороннюю DLL, собранную другим компилятором (если вообще необходимо);
  • отдельный процесс или IPC (сокет, pipe, COM) вместо прямой линковки C++-классов между toolchain;
  • статическая библиотека только после проверки документации Embarcadero по импорту .lib нужного формата.

Подробнее про ABI в целом — Углублённые темы и Компиляторы и toolchain.


Практика сопровождения

ДействиеЗачем
Зафиксировать версию RAD Studio в документации и установщикеодинаковые VCL и runtime-пакеты
Хранить исходники в Git, бинарники сборки — в артефактах CI или локальновоспроизводимость
Не повышать стандарт C++ «вслепую»компилятор Embarcadero поддерживает ISO с отставанием от GCC/Clang
Выделять чистую логику в .cpp без VCLупрощает тесты и будущую миграцию
Планировать миграцию отдельноперенос на Qt/MSVC — отдельный проект, не «переключить компилятор»

Миграция на Qt + CMake обычно означает переписывание UI и замену типов VCL на std:: и Qt-классы; оценивайте трудозатраты как новый фронтенд, а не смену флагов.


C++ Builder и обучение C++

Начинающему разработчику не стоит стартовать с C++ Builder: навыки привязаны к проприетарной IDE, уроки из раздела (типы, CMake, идиомы) плохо переносятся один в один.

Имеет смысл открыть Builder, если вы уже знаете C++ и получили на сопровождение конкретный .cbproj.


Полезные ссылки


Краткий итог

C++ Builder — зрелый Windows/RAD-стек с VCL и общей экосистемой с Delphi. Для новых систем в энциклопедии основной путь — современный C++ + CMake + Qt. Builder остаётся важен как легаси: его сопровождают в родной IDE, без смешения с MSVC/GCC в одном модуле и с явным планом, если продукт уходит с VCL.

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").