×
Namespaces

Variants
Actions

Using Carbide.c++/ru

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Статья
Перевод:
Оригинал: [[Using Carbide.c++]]
Ivan Crack
Последнее редактирование: hamishwillee (09 Dec 2011)

Needs-update.pngThis article needs to be updated: If you found this article useful, please fix the problems below then delete the {{ArticleNeedsUpdate}} template from the article to remove this warning.

Reasons: hamishwillee (25 Aug 2011)
The original text is based on a Symbian Press booklet and was updated for the v2.0.4 release. Carbide.c++ is now at v3.2 (or later) so this article is due a review and possible refresh.

Carbide-front-cover.jpg

Contents

Введение

В этом буклете содержится введение к новой интегрированной среде разработки (IDE) для Symbian C++ приложений - Carbide.c++, входящей в состав ADT (application developer toolkit).

Платформа Eclipse

IDE Carbide.c++ основана на платформе Eclipse, запущенной IBM и семью другими компаниями в Ноябре 2001 года, в качестве проекта по созданию бесплатной мультиплатформенной среды разработки с открытым кодом. Поддерживаемая некоммерческой организацией Eclipse Foundation (www.eclipse.org) и другими компаниями (в том числе Symbian и Nokia), платформа Eclipse выросла в open source сообщество, проекты которого направлены на создание расширяемой платформы разработки и систем базовых структур приложений. Как результат – все большее число компаний выпускают бесплатные или коммерческие продукты, основанные на технологии Eclipse, одним из примеров которых является Carbide.c++.

Главная задача Eclipse – это создание среды, облегчающей интеграцию различных типов инструментов. Eclipse достигает этого, используя архитектуру, реализующую широкий набор повторно используемых компонентов, которые могут быть применены в различных программных инструментах. Архитектура включает в себя подсистему, реализующую пользовательский интерфейс, средства для доступа к файловой системе, подсистемы, отвечающие за функционирование текстовых редакторов, за работу сборщиков приложений, за обеспечение сессий отладки, а также за совместную разработку и контроль версий и т.п. Важнейшим аспектом архитектуры Eclipse является то, что новая функциональность может быть легко интегрирована в платформу, в виде подключаемых модулей. Конечно, поддержка подключаемого кода не является уникальной возможностью Eclipse, поскольку сегодня почти все популярные IDE позволяют наращивать функциональность, но в отличие от них Eclipse не делает различий между системами, составляющими ядро платформы, и системами, добавляемыми сторонними разработчиками для расширения базовой функциональности.

Carbide.c++ C/C++ IDE

Carbide.c++ IDE основана на Eclipse IDE версии 3.3 с дополнительными расширениями, которые позволяют Eclipse работать с исходными файлами на Symbian C++, и собирать проекты для Symbian. Благодаря тому, что IDE Carbide.c++ базируется на платформе Eclipse, пользователю предоставляется возможность установки дополнительных коммерческих или бесплатных плагинов, таких как система контроля версий, система моделирования UML, и т.д.

Carbide.c++ поставляется в виде исполняемого установочного файла для MS Windows, благодаря этому, процесс установки не вызывает затруднений. После установки и запуска программы, разработчик получает стандартный интерфейс среды разработки, во многом похожий на обычную IDE Eclipse. Разработчики, уже знакомые с самой Eclipse или другими основанными на ней продуктами, смогут легко освоить IDE Carbide.c++, так как использованные в ней расширения следуют философии дизайна платформы и прикладных систем Eclipse.

Рисунок 1

Carbide.c++ предназначен для разработки C++ приложений под Symbian OS, поэтому, по умолчанию, в левой части IDE находится панель (view) C/C++ Project, в которой отображаются файлы, содержащие исходный код на С++, заголовочные файлы и файлы ресурсов, составляющие обычный Symbian C++ проект.

Как показано на следующем рисунке, ниже расположена панель Symbian Project Navigator, которая показывает структуру Symbian C++ проекта в соответствии, с содержимым MMP файла, на который ссылается файл bld.inf.

Разработчики, имевшие опыт создания таких файлов вручную, или опыт работы в CodeWarrior для Symbian OS, легко разберутся в таком отображении.

В центре IDE расположен редактор исходного кода С/С++. Разработчик может открыть несколько окон редактора одновременно, и переключаться с одного на другое либо нажатием мышки на верхней вкладке требуемого окна редактора, либо с помощью сочетания клавиш, назначенного самостоятельно.

Наконец, с правой стороны IDE расположены две панели, открытых по умолчанию: Outline и Help.

  • Панель Outline отображает заголовочные файлы и функции, объявленные в текущем C/C++ файле.
  • Панель Help содержит справочную информацию, касающуюся элемента, выделенного мышкой в любом месте IDE. Она также предоставляет возможность навигации по темам справочника, посвященного Carbide.c++ и ее возможностями.
Рисунок 2

Эти панели появляются автоматически при загрузке проекта Symbian C++, и, вместе с их расположением в окне IDE, формируют перспективу (perspective) Carbide.c++ C/C++, обозначенную иконкой в верхней правой части IDE, как показано на следующем рисунке.

Carbide.c++ поставляется с различными перспективами, предназначенными для разных стадий разработки. Например, перспектива Debug содержит набор окон и панелей IDE, предназначенных для сессий отладки.

Note.pngNote: Разработчик может настраивать окна и панели, связанные с каждой перспективой на свой вкус. Carbide.c++ сохраняет настройки при выходе и восстанавливает их при следующем запуске.

Рисунок 3

Текущая перспектива может быть изменена при помощи пункта меню Window > Open Perspective. Схема взаиморасположения панелей открытой в данный момент перспективы будет сохранена перед тем, как откроется новая. Невидимые в данный момент панели могут быть открыты выбором пункта меню Windows > Show View . Выбранная панель появится в текущей перспективе на своем предыдущем месте, или в положении по умолчанию, если раннее эта панель в данной перспективе не открывалась.

Импорт существующих проектов Symbian C++

Для них будет полезно узнать, что Carbide.c++ позволяет легко импортировать такие проекты без необходимости создавать новые и вручную вставлять в них исходные файлы (хотя это также возможно). Платформа Eclipse поддерживает создание мастеров, обеспечивающих импорт и экспорт информации и файлов из IDE. Эта возможность была использована в Carbide.c++ для создания мастера импорта Symbian bld.inf файлов. Как показано на рисунке ниже, с помощью пункта меню File > Import разработчик может открыть панель Import, содержащую различные опции, в том числе и импорт bld.inf файла. После выбора этой опции, разработчика попросят выбрать на жестком диске компьютера файл bld.infinf, чтобы импортировать его (см. второй рисунок 6).

Рисунок 5
Рисунок 6

По завершению этого шага, Carbide.c++ отобразит список всех установленных SDK Symbian OS (IDE находит их автоматически), и предложит разработчику выбрать подходящий проекту SDK. На следующем шаге, разработчик может выбрать, какие из указанных в bld.inf Symbian MMP файлов должны быть использованы в дальнейшем. Наконец, разработчик может выбрать имя и корневую директорию для проекта. В конце работы мастера, Symbian C++ проект открыт и готов к разработке в Carbide.c++.

Рисунок 7
Рисунок 8

Создание нового проекта Symbian C++

Carbide.c++ содержит мастер, позволяющий создать новый проект Symbian C++ с нуля. Мастер может быть запущен при помощи пункта меню File > New Project как показано на рисунке 9.

Рисунок 9
Рисунок 10

Carbide.c++ содержит специализированные шаблоны для различных типов проектов (показано на рисунке 10). При использовании одного из этих шаблонов автоматически генерируется новый проект и исходные файлы с некоторым базовым кодом, зависящим от выбранного разработчиком типа проекта.

Так как Carbide.c++ автоматически обнаруживает установленные на ПК SDK Symbian OS, шаблоны проектов могут быть отфильтрованы по SDK.

Рисунок 11
Рисунок 12

Как показано на рисунке 12, на следующем шаге мастер запрашивает директорию, в которой будут сохранены файлы проекта, а затем предлагает выбрать разрешенные конфигурации запуска. Последний шаг мастера позволяет разработчику задать различную информацию, например, UID приложения (может быть изменен позднее) и директории для различных типов создаваемых файлов. После завершения всех вышеперечисленных шагов мастера будет создан новый проект и некоторые базовые файлы для последующего изменения.

Свойства проекта

Некоторые параметры проекта могут быть изменены в окне настроек проекта. Для того чтобы открыть это окно, необходимо выделить интересующий Вас проект в панели C/C++ Projects, и выбрать пункт Properties из контекстного меню (появляется после щелчка правой кнопкой мыши).

Рисунок 13

Окно содержит несколько разделов, которые могут использоваться разработчиком для управления процессом сборки проекта. Закладка Carbide Build Configurations позволяет установить специфичные настройки для целевых типов сборки (build target) проекта. Закладка Paths And Symbols позволяет настроить используемые пути, переменные окружения для сборки проекта, а также включить автоматическую генерацию файла SIS для указанного PKG файла, и задать пару сертификат/ключ Symbian Signed для приложений, устанавливаемых на телефоны под управлением Symbian OS v9.x. Раздел Carbide Project Settings позволяет разработчику выбрать компоненты для сборки (например, MMP файлы), основываясь на содержимом импортированного bld.inf файла.

Carbide.c++ позволяет изменять содержимое файла bld.inf и связанных с ним MMP файлов при помощи редактора с графическим интерфейсом, что дает возможность разработчику модифицировать настройки проекта без необходимости быть знакомым с синтаксисом и параметрами этих файлов. Эти редакторы могут быть запущены при открытии MMP файлов в панели Symbian Project Navigator или C/C++ Project. Редактор MMP файлов показан на Рисунке 14.

Рисунок 14

Запустив редактор, разработчик может ввести всю необходимую информацию, используя графический интерфейс, или отредактировать эти файлы в текстовом режиме, нажав на вкладке bld.inf или MMP-файл внизу окна.

Note.pngNote: Carbide.c++ синхронизирует эти файлы при любом изменении, которое разработчик выполняет вне этих редакторов, например, при добавлении исходных файлов в проект с помощью главного пользовательского интерфейса Carbide.c++. Ручное редактирование этих файлов также приводит к автоматическому обновлению информации, отображаемой в графических редакторах.

Общие настройки

Except for project-specific settings, Carbide.c++ also allows the developer to specify global options that affect the behavior of the IDE and all Symbian C++ projects. These settings are available on the Preferences window whcih can be launched by selecting the Window > Preferences menu item. As show in Рисунок 15, on the left hand side of this window the developer can select the group of options to modify, for example, general options, editor options, etc., while on the right hand side the options available for a group appear when the group is selected.

Рисунок 15

Помимо настроек проекта, Carbide.c++ позволяет разработчику изменять общие параметры, влияющие на поведение IDE и всех Symbian C++ проектов. Эти настройки доступны в окне SDK Preferences, которое можно открыть, выбрав пункт меню Window > Preferences. Как показано на изображении ниже, в левой части этого окна разработчик может выбрать группу настроек для изменения (например, общие настройки, настройки редактора и т.д.), тогда как в правой части окна будут отображаться параметры, доступные для выделенной группы.

Особый интерес представляют настройки, доступные при выборе группы Carbide.c++, влияющие на процесс разработки проектов Symbian C++. Группа SDK Preferences позволяет разработчику управлять установленными SDK Symbian OS и изменять их параметры. Группа Build содержит используемые по умолчанию настройки для сборки проектов, например, должна ли это быть тестовая сборка.

Часто выполняемым задачам IDE Carbide.c++ может назначать сочетания клавиш. Опция Keys группы General preferences предоставляет возможность изменять их. Любая раскладка может быть изменена пользователем, или выбрана из предустановленных, например, сочетания клавиш CodeWarrior или Visual Studio.

Рисунок 16

Навигация и редактирование кода

Значительное количество времени разработчика при использовании IDE связано с просмотром и редактированием исходного кода. Carbide.c++ имеет множество полезных возможностей редактора, например:

Поиск

Search > Search... обеспечивает возможность поиска в выбранных файлах. Поиск может быть ограничен как перечнем типов файлов, так и подмножеством файлов, определенном либо в рабочей среде (workspace), либо в проекте, либо в заданной директории. Результаты поиска могут отображаться либо в панели Search, либо в панели System Search.

Быстрые клавиши

Многие функции редактирования и навигации в Carbide.c++ имеют связанные с ними “горячие клавиши” (keyboard shortcuts). Например, с помощью сочетаний , Alt-Left и Alt-Right можно переключаться между открытыми в редакторе файлами, Ctrl+/ комментирует и раскомментирует выделенный текст, Ctrl+Alt+C компилирует проект, Ctrl+Alt+H открывает иерархию вызовов (Call hierarchy) для идентификатора отмеченного курсором. Доступные для перспективы сочетания можно просмотреть в Window > Preferences.

Иерархии типов и вызовов

Нажатие клавиши F4 откроет иерархию типов для имени класса, отмеченного курсором. Она содержит порядок наследований и определенные на каждом уровне функции. Как уже упоминалось ранее, нажатие Ctrl+Alt+H откроет иерархию вызовов для отмеченного курсором идентификатора, перечисляющую все места в проекте, где вызывается выбранная функция. Это может быть полезно при рефакторинге.

Шаблоны кода.

Набрав 'lit' и нажав Ctr+Space, Вы превратите строку 'lit' в '_lit("")'. Есть также множество других шаблонов кода, полный список которых можно увидеть в Window > Preferences > C/C++ > Editor > Templates, Templates, например, шаблоны для использования стека очистки и таких структур, как циклы 'for' и 'while'. Также возможно задать новые шаблоны.

Локальная история

Нажатие правой кнопки мышки на файле в панели Project Explorer и выбор пункта Team > Show Local History покажет список старых версий файла, сохраненных после каждого его изменения. В этом окне можно сравнить текущую версию файла с его предыдущей версией и, если необходимо, отменить изменения.

Задачи

Панель Tasks обеспечивает управление задачами разработки. Задачи могут быть добавлены в панель Tasks как напрямую, так и автоматически с помощью комментариев в исходном коде, содержащих слово {Icode|'TODO'}}. Такие комментарии-задачи обеспечивают быстрый способ перехода к связанному с задачей исходному коду сразу из панели Tasks.

Разделение экранов редактирования

С помощью перетаскивания закладки открытого в редакторе файла в другую часть IDE, разработчик может создать еще одно окно редактора. Повторяя эту операцию, разработчик может создать столько окон, сколько необходимо для просмотра нескольких файлов или разных частей одного файла одновременно.

Сборка и запуск приложения

IDE Carbide.c++ позволяет открыть нескольких различных проектов одновременно. Поэтому, существует возможность сборки всех открытых проектов, либо одного или более по выбору. Для сборки Symbian C++ проекта из Carbide.c++ необходимо проделать следующие шаги:

  • Выбрать проект для сборки (щелкните по проекту в панели C/C++ Project левой кнопкой мыши)
  • Выбрать целевой тип (target type) с помощью пункта меню Project > Active Build Configuration
  • Собрать проект, выбрав пункт меню Project > Build Porject

После этого Carbide.c++ соберет проект. При этом выполняются процедуры компиляции, связывания и, если требуется, создания SIS файла для выбранного разработчиком целевого типа. SIS файл создается, если в настройках указан соответствующий PKG файл. Ошибки и предупреждения отображаются в нижней части IDE в панели Problems. Нажав на сообщении об ошибке или предупреждении, разработчик может увидеть текст, который его вызвал. Код, вызвавший ошибку или предупреждение, будет подчеркнут в редакторе и выделен соответствующей иконкой. Панель Console отображает команды, выполняемые Carbide.c++ для того, чтобы создать проект, а также необработанные сообщения об ошибках и предупреждениях, сгенерированными компилятором, компоновщиком и другими инструментами.

После того, как сборка будет завершена, и все ошибки будут исправлены, приложение может быть запущено либо на эмуляторе Symbian OS, либо на мобильном телефоне, в зависимости от целевого типа. Carbide.c++ автоматически генерирует конфигурацию для запуска скомпилированного проекта, поэтому, разработчик может сразу запустить приложение, выбрав пункт меню Run > Run (или нажав Ctrl+F11). Также автоматически создается и конфигурация сессии отладки, которую можно запустить, выбрав пункт меню Run > Debug (или нажав F11). Эти конфигурации могут быть изменены (а также добавлены новые конфигурации для запуска и отладки приложения) c помощью меню Run или Debug Configuration, при выборе пунктов меню Run > Open Run Dialog… или Run > Open Debug Dialog… соответственно.

Как показано рисунке 17 для окна Run Configuration, разработчик может создать конфигурацию запуска либо для эмулятора Symbian OS, либо для мобильного телефона. А также установить различные настройки, такие как опции командной строки, порт USB или Bluetooth для отправки SIS файла на телефон при отладке на устройстве, расположение исходных файлов и т.д. Конфигурации для различных проектов и целей могут быть созданы и сохранены для использования в дальнейшем.

Рисунок 17

Сессии отладки

Сессия отладки запускается на основе одной из конфигураций отладки проекта, описанных в предыдущей части. Конфигурация позволяет разработчику настраивать процесс отладки, например, исключения, которые должен перехватывать Carbide.c++ и должна ли неявная точка останова (breakpoint) быть помещена на входе в функцию E32Main. Каждый раз, когда приложение запускается в режиме отладки (на эмуляторе Symbian OS или на мобильном телефоне), Carbide.c++ переключается на перспективу Debug, как показано на следующем изображении. Carbide.c++ обеспечивает поддержку всех стандартных возможностей отладки, встречающихся в других IDE. Потоки приложения во время исполнения видны в панели Debug: разработчик может выбрать и изучить поток или процесс, собрать информацию о стеке потока и значениях локальных переменных.

Закладка Breakpoints позволяет разработчику ставить точки останова и точки наблюдения (watchpoints). Точки останова могут быть сгруппированы, например, по файлу или проекту, где они были созданы, и работать либо индивидуально, либо основываясь на группировке. При отладке с помощью эмулятора, для контроля за состоянием определенной переменной могут быть установлены точки наблюдения. Это может быть полезно для отладки ошибок повреждения памяти, потому что Carbide.c++ приостанавливает потоки, которые изменяют контролируемые переменные. Значения глобальных и локальных переменных можно увидеть в панели Variables, имеющей возможность по интерпретации данных (в том числе и специфичных для Symbian OS, например, дескрипторов) и отображению их значений. Значения регистров и адресов памяти можно просмотреть и изменить с помощью панелей Registers и Memory соответственно. Эти панели могут быть использованы для анализа и изменения состояния приложения.

Рисунок 18

Разработчик может выполнять функции пошагово и продолжать выполнение до следующей точки останова, в то же время предоставляется возможность просмотра исходного кода и выполняющейся в данный момент строки. Разработчик может перезапустить или прекратить отладочную сессию.

Новые возможности Carbide.c++ v1.3

В Carbide.c++ v1.3 появился ряд новых возможностей, которые еще не были упомянуты. К ним относятся:

  • Опциональные возможности системы компиляции и сборки, которые могут способствовать ускорению создания проектов. Эти настройки доступны через панель Preferences > Carbide.c++ > Build и позволяют разработчику разрешить Carbide.c++ напрямую управлять зависимостями и запускать несколько процессов сборки одновременно на многопроцессорных/многоядерных машинах.
  • Функция системного поиска доступна при выборе пункта меню Search > System…. Это позволяет производить поиск в произвольных директориях ПК, не связанных с файлами, являющимися частью рабочей среды.
  • Исходные файлы проекта могут быть предварительно обработаны по щелчку правой кнопки мышки на файле в панели Symbian Project Navigator и выбору пункта Preprocess. Препроцессор C (C-preprocessor) будет запущен для этого файла, а результаты обработки отобразятся в панели Console.
  • При создании новой рабочей среды, в нее будут скопированы настройки текущей рабочей среды. Эта возможность доступна после выбора File > Switch Workspace > Other… и указания, какие настройки следует копировать.
  • Панель Platform Security может обеспечить анализ защищенных возможностей, декларации обращений к которым нужно добавить в MMP файл. После нажатия правой кнопки мышки на MMP файле и выбора Run Capability Scanner on Project MMP, возможности, которые потребуются исполняемому файлу, будут кратко изложены в Platform Security.
  • Так как система Carbide.c++ расширяется, имеется все большее число доступных модулей, дополняющих функциональность Carbide.c++. Некоторые из них создаются Symbian или Nokia и специфичны для платформы Symbian, а некоторые - совместимы с Eclipse и разрабатываются другими производителями.

Информация и помощь

В этом буклете мы предоставили некоторую информацию о Carbide.c++, в том числе, об импорте, создании, отладке и выполнении проектов Symbian C++. Более подробную информацию обо всех возможностях Carbide.c++ можно найти в самой IDE с помощью пункта меню Help > Help Contents.

Справка также освещает возможности Eclipse IDE, базирующиеся на ней специфичные функции Carbide.c++, а также установленные Symbian OS SDK. Дополнительную полезную информацию вы можете найти в категории Carbide.c++ этой wiki.


Licence icon cc-by-sa 3.0-88x31.png© 2010 Symbian Foundation Limited. This document is licensed under the Creative Commons Attribution-Share Alike 2.0 license. See http://creativecommons.org/licenses/by-sa/2.0/legalcode for the full terms of the license.
Note that this content was originally hosted on the Symbian Foundation developer wiki.

This page was last modified on 9 December 2011, at 02:47.
94 page views in the last 30 days.
×