Перенос разработок Visual Studio C и C++ в Eclipse CDT (документация)Источник: IBM developerWorks Россия Рамакришнан Каннан, штатный специалист по ПО, IBM
Поскольку большинство проектов на C/C++ для Windows разработаны с помощью Microsoft Visual Studio, важно научиться переносить эти проекты в Eclipse - интегрированную среду разработки (IDE) с открытым исходным кодом. Данная статья в краткой форме даёт пошаговое описание процедуры переноса проектов Microsoft Visual Studio C/C++ (MSVC) в Eclipse. В ней сравниваются и сопоставляются преимущества MSVC и Eclipse CDT. Платформа Eclipse - это инструментальное средство с открытым исходным кодом, помогающее вам в реализации проекта на всех этапах, от проектирования до тестирования, в единой среде разработки, без необходимости использовать раздельные инструментальные средства для каждого этапа. Eclipse был создан в помощь сообществу разработчиков инструментальных средств, концентрируясь на основных функциональных возможностях инструмента, а не на самой среде разработки (IDE). Это достижимо благодаря модели программирования Eclipse, которая поддерживает строительные блоки ПО, называемые встраиваемыми расширениями (плагины). В начале Eclipse развивался как интегрированная среда для программирования на Java, поскольку это было актуально в то время. В силу своей расширяемости, он стал использоваться для разработки приложений на других языках программирования, таких как COBOL и C/C++. Данная статья рассматривает приложения на C и C++. Большинство проектов на C и C++ для развертывания в среде Windows разработаны при помощи Microsoft Visual Studio. В данной статье приводится пошаговая процедура переноса проектов из Microsoft Visual Studio C/C++ (MSVC) в Eclipse. Параллельно с этим мы сравним и сопоставим преимущества от использования MSVC и Eclipse CDT. Предварительные требования
Пакет инструментальных средств разработки C++ (CDT) Eclipse
Сравнение Visual Studio и EclipseMicrosoft Visual Studio имеет долгую историю и широко используется разработчиками приложений для Windows. Он также является лидером в разработке приложений на C и C++ для Microsoft Windows. В отличие от него, Eclipse CDT является относительно новым и весьма популярным в наши дни среди разработчиков. Eclipse CDT спроектирован, чтобы удовлетворить потребности разработчиков на разных платформах ОС, таких как Linux, и зависит от компилятора gcc и других инструментов с открытым исходным кодом. Eclipse и Visual Studio можно сравнивать по различным направлениям. Можно сравнить пользовательский интерфейс, архитектуру, стоимость, лёгкость обращения и многие другие критерии. Поскольку в данной статье рассматривается разработка на C и C++, мы рассмотрим и сопоставим сильные стороны обоих средств, касающиеся разработки приложений на C и C++ для Windows. Сравнение разработки приложений на C/C++ для Windows
О CDTПакет инструментальных средств разработки на C++ (CDT) Eclipse является расширением платформы Eclipse в форме плагина. Этот плагин доступен в варианте для любой платформы. Дружественность плагина для пользователя и то, что он имеет открытый исходный код, делает его популярным не только среди разработчиков для Linux, но и среди разработчиков на C++, использующих другие платформы. Плагины CDT и Web Tools являются двумя наиболее распространёнными расширениями для Eclipse. Примерно два из трёх разработчиков, использующих CDT, являются пользователями Windows. CDT имеет субкомпоненты или плагины, являющиеся независимыми разработками сообщества CDT. Самым важным является основной плагин CDT, обеспечивающий базовые возможности CDT. CDT Debug UI (пользовательский интерфейс отладчика) обеспечивает возможности пользовательского интерфейса для программ редактирования и просмотра при отладке. Плагин CDT UI обеспечивает связанные с пользовательским интерфейсом (UI) функциональные возможности, программы просмотра, редактирования, мастеры и т.д. Отладчик CDT обеспечивает базовые возможности отладки. CDT Feature даёт компонент CDT Feature. Ядро CDT обеспечивает Core Model, CDOM, и другие базовые компоненты. CDT Launch реализует механизм для запуска внешних выполняемых модулей и инструментальных средств. CDT Debug MI (машинный интерфейс) - коннектор приложений для MI-совместимых отладчиков. Редакторы CDT содержат несколько возможностей, которые делают их популярными. Например, подсветка синтаксиса и помощник по коду (code assist) делают разработку ПО быстрой и простой. Подсветка синтаксиса конфигурируется и может быть настроена индивидуально, в соответствии с личными предпочтениями разработчика. Помощник по коду - это функция дописывания строк кода аналогичная такой же функции в Visual Studio. В плагин можно добавлять задаваемые пользователем шаблоны кода, которые могут затем использоваться помощником по коду. В последующих разделах мы узнаем, как эффективно использовать CDT для переноса проектов Visual Studio в инструментальное средство Eclipse CDT Workbench. Из VS в EclipseВ данном разделе мы перенесём простое приложение HelloWorld Win32, разработанное с помощью Microsoft Visual C++ 6.
VC++ 2005 Express, вносящий множество изменений в традиционный Visual Studio C/C++, содержит проект, инициированный на Eclipse, для решения этой проблемы. Посетите Eclipse MSVC для получения более подробной информации. Сложности, связанные с использованием Eclipse CDT в качестве IDE для разработки под WindowsРассмотрим различные сложности, связанные с использованием Eclipse CDT на различных этапах процесса разработки ПО. ПроектированиеUML стал стандартом де-факто для представления и проектирования программных приложений с использованием объектно-ориентированных языков программирования. IBM предлагает два средства разработки Java на основе Eclipse: Rational Application Developer и Rational Rose XDE Developer для технологии Java. Оба они предлагают разработку на основе модели и поддерживают UML, полный цикл проектирования Java-кода, синхронизацию модель-код, выполняемую автоматически или по требованию, и другие полезные возможности. Хотя у нас имеется UML-плагин для Eclipse, тесная интеграция между UML и C/C++ в платформе Eclipse в настоящее время отсутствует. РазработкаНаиболее интересным элементом Visual Studio является его редактор ресурсов. Будь то редактор ресурсов SDK или MFC, они оба широко используются в разработке статических элементов управления для пользовательского интерфейса (UI) приложения. Сегодня Eclipse CDT не обеспечивает поддержки для разработки UI. Используйте проект визуального редактора для Eclipse при создании файлов .rc для разработки под Windows. Microsoft изменяет свои компиляторы от версии к версии, что создает определённые сложности для Eclipse CDT в плане поддержки различных версий инструментальных средств SDK, выпускаемых Microsoft. Сегодня полный переход в программах MSVC к открытому исходному коду является неприемлемым. В Linux такая задача очень сложна. Инструментарий SDK компании Microsoft не может работать в системах с открытым исходным кодом, таких как Linux. Инструментальные средства SDK должны запускаться внутри эмулятора Windows для того, чтобы их можно было использовать в Linux. Тем не менее, в настоящее время разработчики для Windows, использующие платформы SDK, Eclipse CDT и Отладочные средства для Windows, рассматривают платформу Eclipse как альтернативу для MS Visual Studio. ОтладкаEclipse CDT основывается на отладчике GNU Debugger (GDB). GDB это отладчик на уровне исходного кода для программ на C, C++, Ada и других языках программирования. Ни Eclipse, ни GDB не понимают отладочной информации, генерируемой компиляторами Microsoft. В результате выбор CDT в качестве среды для полного цикла разработки под Windows сопряжен с трудностями. Тем не менее, вы можете использовать средства отладки Debugging Tools for Windows для отладки параллельно с Eclipse в роли среды разработчика. ТестированиеCppUnit это среда тестирования для C/C++, аналогичная JUnit для Java. Существует также плагин CppUnit для Eclipse, который может использоваться параллельно с CDT для тестирования программ CPP. Инструментальные средства и другие критерииПомимо стандартной разработки в Windows с помощью SDK, Visual Studio поддерживает многие другие виды разработки, включая DDK, .NET, WMI, разработку Web, разработку компонентов IE, MDAC и другие. Ожидается, что дополнительный вклад в этой области , внесёт сообщество разработчиков плагинов для Eclipse. Все инструментальные средства с открытым исходным кодом, такие как listdlls, process explorer и task handler, можно считать обеспечивающими поддержку внутри Eclipse CDT, что, в определённой степени, позволяет преодолеть этот разрыв. ЗаключениеВозрастающая популярность, универсальность и принадлежность Eclipse к программным средствам с открытым исходным кодом побуждает многих делать выбор в пользу Eclipse как платформы разработки будущего. Тем не менее, переход на использование в приложениях Windows инструментов разработки с открытым исходным кодом, таких как GCC, GDB, или GCC/GDB для Windows, обеспечивающих функциональность, аналогичную Windows SDK, является на сегодняшний день нетривиальной задачей. Впрочем, Eclipse это оптимальная альтернатива для Visual Studio, использующая открытый исходный код, когда мы говорим об этапах SDLC в целом. Учитывая всё большее количество поддерживаемых в Eclipse плагинов для разработки приложений C/C++ под Windows, Eclipse CDT может стать стандартом интегрированной среды (IDE) для разработок на C/C++ для Windows. |