высокохудожественный симбиоз

ДМИТРИЙ ТАРАСОВ AKA DEM@N

Спецвыпуск: Хакер, номер #071, стр. 071-074-1

(PINK2000-0@MAIL.RU)

SYMBIAN TIPS'N'TRICKS

РЕШИЛ ЗАНЯТЬСЯ ПРОГРАММИРОВАНИЕМ ПОД СМАРТФОНЫ НА SYMBIAN? ВЕРНО ЧУЕШЬ, КУДА ВЕТЕР ДУЕТ, ПРИЯТЕЛЬ: КОДИНГ ПОД МОБИЛЬНЫЕ УСТРОЙСТВА – ОЧЕНЬ ПЕРСПЕКТИВНОЕ НАПРАВЛЕНИЕ. СПЕЦОВ В ЭТОЙ ОБЛАСТИ МАЛО, А СПРОС НА НИХ ПОВЫШАЕТСЯ С КАЖДЫМ ДНЕМ. КРОМЕ ТОГО, ПРОЦЕСС СОЗДАНИЯ ПРОГРАММ ДЛЯ МОБИЛ – КРАЙНЕ УВЛЕКАТЕЛЬНЫЙ, НО НАЧИНАЮЩИХ ЖДЕТ МАССА ПОДВОДНЫХ КАМНЕЙ И ПРЕПЯТСТВИЙ. О РЕШЕНИИ НЕКОТОРЫХ ТИПОВЫХ ПРОБЛЕМ И ЗАДАЧ Я И ХОЧУ РАССКАЗАТЬ ТЕБЕ В ЭТОЙ СТАТЬЕ

[выбор среды разработки и SDK.]

На данный момент наиболее популярные среды разработки под Symbian – это CodeWarrior от Metrowerks и C++ BuilderX Mobile Edition от Borland. Ты можешь использовать их, но я бы посоветовал обратить внимание на надстройку над Visual Studio.NET под названием Carbide.VS. Плюс ее в том, что она бесплатна (сама надстройка, естественно) и лишь требует халявной регистрации по истечении 14 дней использования. Кроме того, в процессе работы с этой средой ты избавляешься от разного рода глюков вроде неправильно прописанных путей в package–файле. И потом, ты наверняка используешь студию для той или иной работы, поэтому работа в привычной среде – тоже явный плюс. Правда, стоит иметь ввиду, что среда, по непонятным причинам, в процессе сборки проекта иногда исключает необходимые библиотеки из файла описания проекта, поэтому рекомендую в настройках Carbide снять галочки с опций «update .mmp file» и «update .pkg file».

Что касается выбора SDK, то инфы по этому поводу предостаточно в Сети. Единственное, на что я хочу обратить внимание, так это на то, что большая часть софта для Series 60 всех версий до S60 3rd Edition не будет работать на новых мобилах (например, новая N–серия от Nokia), работающих на S60 3rd Edition, поэтому понадобится отдельный SDK для последней версии.

[особенности процесса сборки проекта.]

Есть две конфигурации сборки проекта – для запуска и отладки в эмуляторе и для создания установочного (SIS) файла. Когда мы разрабатываем и тестируем программу, надо периодически собирать проект для обеих конфигураций, поскольку это позволяет сразу обнаружить дурацкие ошибки вроде непрописанных библиотек или модулей в файле конфигурации проекта. В случае с Visual Studio, например, бывает, что после добавления модуля к проекту стандартными средствами («add item») проект в конфигурации для эмулятора нормально компилируется, а в конфигурации для создания установочного файла возвращает ошибку. Связано это с тем, что при добавлении нового файла в проект, его нужно явно прописывать в файле конфигурации проекта. Например, если ты реализовал какой-либо функционал в файле megasource.cpp, не забудь добавить в файл описания проекта (mmp) следующую строку:

SOURCE megasource.cpp

[почему программа закрывается при запуске.]

Так получилось, что в Symbian C++ реализован собственный механизм обработки исключений, который адаптирован под выполнение кода на мобильной платформе. Не буду грузить тебя деталями, ибо для этого есть SDK Help, а скажу лишь, что в большинстве случаев ты будешь создавать объекты, помещая их в так называемый CleanupStack. То есть создание объектов обычно выглядит примерно так:

Содержание  Вперед на стр. 071-074-2
ttfb: 3.2970905303955 ms