Воскресенье, 2019-06-16, 7:44 PM
Главная страница | Регистрация | Вход Приветствую Вас заблудившийся пакет | RSS
Меню сайта

Категории каталога
Программирование [58]
.. все с этим делом связаное..
Нейронные сети [4]
Нейронные сети, использование алгоритмы роботы
HACK [5]
Здесь материалы находятся лишь для ознакомления и НЕ БОЛЬШЕ!!!! Автор не несет отвественности за использование материалов даной категории
OC [6]
Unix, FreeBSD, Windows, Linux Описание, совети, секреты, настройки
WEB [25]
web-programming и все с этим связаное
Сети [2]
Описание сетей, сетевых технологий, настройки и некоторые секреты
Мабила [9]
Описание мобильных технологий, программинг под мабилу, и просто интересные моменты
Разное [10]
то что не вошло в другие категории.. прикольные истории про программеров и деятелей информационной индустрии
История [6]
История этого компьтерного мира и некоторых ее учасников
FREE [3]
free on the web..

Наш опрос
Какие категории сайта вам самые интересные?

Результаты · Архив опросов

Всего ответов: 138

Начало » Статьи » Мабила

Простейшее консольное Hello world приложение для Symbian OS на C++

Простейшее консольное Hello world приложение для Symbian OS на C++



Файлы проекта


Сегодня мы создадим простейшее HelloWorld приложение. Оно может работать на любом Symbian OS устройстве. Проект Symbian OS
приложения состоит из нескольких файлов: собственно исходников (.cpp и .h), файлов описания проекта (.mmp) и файлов описания компонент (bld.inf).
Могут потребоваться и другие файлы.

Файл описания проекта необходим для корректной работы утилиты bldmake. Имя файла проекта должно соответствовать имени
приложения. Другими словами, если мы разрабатываем программу HelloWorld.exe, файл описания проекта должен называться HelloWorld.mmp.


// HelloWorld.mmp

TARGET HelloWorld.exe

TARGETTYPE exe

UID 0

SOURCEPATH .

SOURCE HelloWorld.cpp

USERINCLUDE .

SYSTEMINCLUDE \Epoc32\include

LIBRARY euser.lib bafl.lib efsrv.lib


В отличие от файла описания проекта, файл описания компонент всегда называется одинаково: bld.inf. В этом файле указывается список
проектных файлов:



 // файл bld.inf

PRJ_MMPFILES

 

HelloWorld.mmp


Создадим простейшее консольное приложение. Пусть оно выводит на экран строку "Hello world!", дожидается нажатия клавиши и закрывается.


Листинг исходного кода HelloWorld.cpp

#include <e32base.h>

#include <e32cons.h>

 

_LIT(KTxtEPOC32EX,"EPOC32EX");

_LIT(KTxtExampleCode,"E32 SDK Example Code");

_LIT(KFormatFailed,"failed: panic code=%d");

_LIT(KTxtOK,"ok");

_LIT(KTxtPressAnyKey," [press any key]");

 

LOCAL_D CConsoleBase* console; // запишите сюда свое сообщение

LOCAL_C void doExampleL(); // именно это функция будет выполнять требуемые нам действия

 

//*********************************************//

// функция, осуществляющая печать //

//*********************************************//

LOCAL_C void doExampleL()

    {

   _LIT(KHelloWorldText,"Hello world!\n");

  

  // создаем консольный объект

 console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));

 CleanupStack::PushL(console);

   // печатаем строку "Hello world"

 console->Printf(KHelloWorldText);

  // печатаем строку "press any key"

 console->Printf(KTxtPressAnyKey);

  // дожидаемся, пока пользователь нажмет кнопку

 console->Getch();

  CleanupStack::PopAndDestroy(); // закрываем консоль

 }



 //************************//

//* главная функция *//

//************************//

TInt E32Main()

{

 __UHEAP_MARK;

  CTrapCleanup* cleanup=CTrapCleanup::New(); // получаем чистый стек

  TRAPD(error,doExampleL()); // завершаем инициализацию и выполняем пример

 __ASSERT_ALWAYS(!error,User::Panic(KFormatFailed,error));

  delete cleanup; // удаляем стек

 __UHEAP_MARKEND;

 

 return 0;

}


Компиляция


Существует два пути сборки Symbian OS приложения. Первый - использование утилит командной строки. С помощью этого метода вы можете
собрать приложение для любого целевого устройства, поддерживаемого SDK (ARM4 и THUMB поддерживаются не всеми SDK). Второй путь -
использовать Microsoft Visual Studio [Прим. переводчика: или любую другую IDE. В рамках статьи рассматривается только Microsoft Visual
Studio.]
. Этот метод кажется мне более предпочтительным, поскольку текстовый редактор и компилятор встроены в удобную графическую среду,
что значительно упрощает процесс разработки и отладки приложения. Для отладки приложения Microsoft Visual Studio использует собственную WINS
платформу. При переносе программы на целевую платформу (например, на armi или thumb), Вам все равно придется пользоваться командной
строкой.

Для того чтобы собрать приложение с помощью командной строки надо:


  • Перейти в папку, содержащую .mmp файл проекта. Убедиться, что в этой же папке лежит файл bld.inf.
  • Выполните команду bldmake bldfiles. В результате ее выполнения будет создан файл abld.bat, который содержит информацию,
    полученную из .mmp файла проекта. (Обратите внимание, что после изменения .mmp файла нужно снова выполнять команду bldmake.)
  • Выполните команду abld build wins udeb. Она создает версию приложения с отладочной информацией для WINS платформы.
  • Выполните команду abld build armi urel. Она создает релиз версию приложения для целевого устройства.
  • После создания exe файла, его нужно скопировать в папку Epoc32\release\wins\udeb\.

 


Рассмотрим создание проекта и сборку приложения с помощью Microsoft Visual C++.


  • Перейти в папку, содержащую .mmp файл проекта. Убедиться, что в этой же папке лежит файл bld.inf.
  • Выполните команду bldmake bldfiles. В результате ее выполнения будет создан файл abld.bat, который содержит информацию,
    полученную из .mmp файла проекта. (Обратите внимание, что после изменения .mmp файла нужно снова выполнять команду bldmake.)
  • Выполните команду abld makefile vc6. В результате будет создан файл проекта и файл рабочей среды (.dsp и .dsw). Эти файлы можно
    использовать в Visual C++ 6.0.
  • Запустите Microsoft Visual C++ 6.0 и выберите команду Open Workspace из меню File.
  • Выберите файл с расширением .dsw в папке WINS\ вашего проекта.
  • Выберите команду Build или Rebuild All из меню Build. Будет выполнена сборка приложения.

 


Запуск приложения


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


Существует два способа запуска приложения на эмуляторе: можно запустить приложения из командной строки или из IDE (в данном случае из
Microsoft Visual C++ 6.0).

В случае запуска из командной строки, скопируйте созданный файл helloworld.exe в папку Epoc32\release\wins\udeb\, затем перейдите в эту
папку и запустите файл helloworld.exe. Для запуска приложения из Microsoft Visual C++ 6.0 нужно выполнить команду Execute
HELLOWORLD.exe
из меню Build. Оба этих способа приводят к одному результату: через несколько секунд запустится окно эмулятора, и
Вы увидите картинку:





В основе статьи лежит документ "Symbian OS: Getting Started with
C++ Application Development
", найденный на сайте
Forum.Nokia.com.

Перевод: aRix.




Источник: http://www.mobilab.ru
Категория: Мабила | Добавил: X-SAM (2006-05-15) | Автор: http://www.mobilab.ru
Просмотров: 1847 | Рейтинг: 0.0

Всего комментариев: 0
Имя *:
Email *:
Код *:

Украинская Баннерная Сеть
Поиск по каталогу

Кнопки друзей

Статистика
Рейтинг сайтов Powered by MyPagerank.Net

Copyright DEBUGGER © 2007 Используются технологии uCoz