Главная » Просмотр файлов » Руководство программиста в Photon

Руководство программиста в Photon (1037671), страница 26

Файл №1037671 Руководство программиста в Photon (Раздаточные материалы) 26 страницаРуководство программиста в Photon (1037671) страница 262017-12-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 26)

y += x

}

Поскольку процессорные директивы игнорируются, генератор прототипа видит следующее:

for (i=0; i<18; i++, i++) {

for (i=0; i<18; i++) {

x += 2*(i+x);

y += x

}

Две открытые фигурные скобки вызовут определённое замешательстро, и будет сгенерирован неверный прототип. Проверяйте подобные вещи, если генератор прототипов создаёт неверные прототипы.

Чтобы исправить код, приведённый выше, мы должны удалить открывающие скобки и разместить их в строке после #endif. Или же мы можем сделать таким образом:

#ifdef DOUBLE

#define ADDAMOUNT 2

#else

#define ADDAMOUNT 1

#endif

for (i=0; i<18; i += ADDAMOUNT) {

x += 2*(i+x);

y += x;

}

Как организовать файлы приложения

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

Рис. 8-3. Директории для приложения PhAB

 Если Вы первый раз сгенерировали Ваше приложение с ранней версией Photon'а, оно могло быть создано как одноплатформенное приложение. В этом случае размещение файлов слегка различается, как описано в последующем разделе.

Вы можете выбрать платформы, для которых компилируется Ваше приложение. Если Вам не требуется чего-то иного, Вы можете выбрать в качестве платформы принимаемое по умолчанию (выбрать "default"). Если Вы выбрали default, при инсталляции новых версий компилятора они будут использоваться автоматически.

Многоплатформенные приложения

Вот что содержит каждая директория многоплатформенного приложения:

appl

Имя этой платформы – то же, что имя Вашего приложения. Она содержит файл описания приложения abapp.dfn. Поскольку этот файл является принадлежностью PhAB, Вам не следует пытаться его модифицировать.

appl/src

Директория src содержит исходный программный код, хеадеры и файл Makefile, сгенерированные PhAB, а также любой код, созданный Вами собственноручно. Диалог "Build+Run" при раскрытии отображает содержание этой директории. Для получения более подробной информации о файлах, содержащихся в этой директории, см. раздел "Что генерирует PhAB" в этой главе.

appl/src/platforms

Эти директории содержат файл Makefile, объектные файлы и исполняемые файлы для выбранной платформы. Файл Makefile в директории src запускает их в платформенных директориях.

apply/wgt

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

Всегда используйте PhAB, чтобы отредактировать файлы модулей в директории wgt. Не пытайтесь редактировать эти бинарные файлы другим редактором.

Никогда не модифицируйте какие-либо файлы, начинающиеся с "ab".

Одноплатформенные приложения

Вот что содержит каждая директория одноплатформенного приложения:

appl

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

appl/src

Директория src содержит файлы с исходным кодом хеадера, объектные файлы и файл Makefile, сгенерированные PhAB, а также любые файлы с исходным кодом, созданные Вами собственноручно. При открытии диалог "Build+Run" отображает содержание этой директории.

Для получения более полной информации о файлах, хранящихся в этой директории, см. раздел "Что генерирует PhAB" в этой главе.

appl/wgt

Директория wgt содержит модули ВАшего приложения. Поскольку каждый тип модуля имеет своё отличающееся расширение файла, довольно легко опознать соответствующий нужный Вам модуль при импортировании модулей из другого приложения.

Для получения более полной информации см. подручные таблицы в разделе "Типы модулей" в главе "Работа с модулями".

Всегда используйте PhAB, чтобы редактировать файлы модулей в директории wgt. Не пытайтесь редактировать эти бинарные файлы другим редактором. Никогда не модифицируйте какие-либо файлы, начинающиеся с "ab".

Преобразование к мультиплатформенности

Если у Вас имеется одноплатформенное приложение, построенное в одной из ранних версий Photon'а, Вы можете преобразовать его под мультиплатформенность, но это необязательно. PhAB работает с обоими типами приложения.

Чтобы преобразовать к мультиплатформенности, выберите пункт "Convert to Multiplatform" из меню "Application". PhAB переместит все существующие файлы Makefile в src/default/Makefile.old. Используйте пункт "Generate" в меню "Application", или команду "Generate" в диалоге "Build+Run", чтобы сгенерировать новый файл Makefile для нужных платформ, и затем отредактируйте их, чтобы передать какие-либо требующиеся изменения из старого файла Makefile в новый.

Редактирование исходного кода

Как только Вы сгенерировали программный код Вашего приложения, Вы увидите модули с исходным программным кодом С и/или С++, отображаемые в списке файлов диалога "Build+Run". Рядом со списком файлов Вы увидите несколько кнопок , позволяющих выполнить над файлами различные действия. Чтобы редактировать, просматривать или удалять исходный код:

  1. Щёлкните на файле с исходным кодом

  2. Щёлкните на соответствующей кнопке действия ("Edit" – редактирование, "View" – просмотр, "Delete" – удаление, ...).

Вы можете также начать редактирование файла, дважды щёлкнув на его имени.

Выбор редактора или броузера

Чтобы выбрать, какой редактор или броузер вызывать по кнопкам "Edit" или "View", см. раздел "Подгонка Вашего окружения PhAB" в главе "Окружение PhAB".

Создание модуля с исходным кодом

Чтобы создать новый модуль с исходным кодом:

  1. Щёлкните на кнопке "Create", чтобы открыть диалог "Create File", затем наберите имя нового файла.

  2. Если Вы хотите создавать файл, используя шаблон (для хеадер-файла или ответной реакции виджета), выберите формат из комбинированного элемента управления "Template".

  3. Щёлкните на "Create". Вы увидите окно терминала, отображающего либо пустой файл, либо файл, содержащий шаблон.

Если Вы создали какие-либо файлы, щёлкните на кнопке "Refresh" для просмотра директории приложения и обновления списка файлов в левой части диалога "Build+Run".

Изменение отображения файлов

Для управления тем, какие файлы отображаются диалогом "Build+Run", используйте следующее:

  • "Refresh" – Вынуждает пересмотреть диркторию исходных кодов приложения для обеспечения правильности Вашего списка файлов.

  • File Spec – позволяет Вам задать шаблон имён отображаемых файлов.

Компилирование и линковка

После генерации кода приложения Вам необходимо:

  1. Выбрать библиотеки, используемые Вашим приложением

  2. Использовать команду make для компиляции и линковки Вашего приложения.

Выбор библиотек

PhAB позволяет Вам использовать с Вашим приложением следующие библиотеки:

  • Статические библиотеки – компоновка библиотек PhAB и Photon в исполняемый файл приложения. Приложение получается больше по размеру, нежели при использовании совместно используемой библиотеки, но выполняется без библиотек совместного использования. Это может быть полезным во встраиваемых приложениях.

  • Совместно используемые библиотеки – библиотеки не включаются в приложение. Приложение получается намного меньшим по размеру, но для своего выполнения требует совместно используемые библиотеки Photon'а.

По умолчанию установлено использование совместно используемых библиотек. При запуске PhAB Вы также можете задать список библиотечных функций ответных реакций.

Для получения более полной информации см. описание appbuilder в "Справочнике утилит QNX".

Запуск команды make

Как только Вы выбрали тип библиотеки, Вы готовы компилировать и линковать. Когда Вы впервые генерируете Ваше приложение, PhAB создаёт файл Makefile в директории src (плюс по файлу Makefile для каждой платформы, выбранной при мультиплатформенной разработке), так что Вы можете собирать Ваше приложение. Последующие генерации кода непосредственно не модифицируют файл – вместо этого они обновляют внешние файлы, на которые ссылается Makefile. После того как Makefile сгенерирован, Вы вольны его модифицировать, при нескольких условиях:

  • PhAB размещает в Makefile ссылки на внешние файлы для объектных файлов, файлов с исходным кодом и хеадер-файлов, как сгенерированных им, так и созданных пользователем. Не удаляйте эти ссылки.

  • PhAB также использует три ссылки на целевые имена, называющиеся app, shr и proto. Не переименовывайте эти целевые объекты.

Целевые объекты app и shr используются для компилирования и линковки приложения со статическими или совместно используемыми библиотеками. Целевой объект proto используется для генерирования файла прототипа приложения proto.h; см. раздел "Генерирование прототипов функций" ниже в этой главе.

По умолчанию файл Makefile совместим с инсталлированной командой "make". Вы можете преобразовать файл в формат, соответствующий предпочитаемой Вами команде "make" – просто убедитесь, что метод ссылки на внешние файлы ещё совместим.

Для получения более полной информации см. раздел "Включение неPhAAB-шных файлов в Ваше приложение" ниже в этой главе.

Чтобы собрать Ваше приложение:

  1. Щёлкните на кнопке "Make", чтобы открыть диалог "Make Application", и запустите на исполнение make.

  2. Если во время исполнения make будут обнаружены какие-либо ошибки или предупреждения, PhAB сделает доступными кнопки "Edit" и "Restart".

Чтобы редактировать первый файл, содержащий ошибки, щёлкните на "Edit". После решения проблем щёлкните на "Restart", чтобы запустить make снова. Чтобы остановить в любой момент make, щёлкните на "Abort".

  1. После того как приложение откомпилировано и слинковано, PhAB делает доступной кнопку "Done" диалога "Make". Щёлкните на "Done", чтобы закрыть диалог. Кнопка "Done" становится также доступной, если щёлкнуть на "Abort".

Модифицирование команды make

По умолчанию PhAB использует установленную make-команду, чтобы собрать Ваше приложение. Если Вам необходимо каким-либо образом изменить эту команду, щёлкните на кнопке "Build Preferences".

 Все изменения, сделанные Вами в установках "Build Preferences", сохраняются не как глобальные установки, а вместе с самим приложением.

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

Как только Ваше приложение без ошибок откомпилировано и слинковано, оно готово к исполнению. Просто следуйте этим шагам:

  1. Если Вы использовали PhAB для создания многоязыкового приложения, Вы можете перед запуском Вашего приложения на исполнение выбрать язык в диалоге "Build+Run". Для получения более полной информации см. главу "Поддержка международных языков".

  2. Если Ваше приложение требует аргументы командной строки, введите их в поле "Run Arguments".

  3. Щёлкните на кнопке "Run Appl".

 Когда Ваше приложение исполняется, его рабочей директорией является та, что отображена в диалоге "Build+Run".

Если Вы используете в Вашем приложении такие функции как printf(), то если Вы запустили приложение из PhAB, вывод идёт на Вашу консоль. Чтобы увидеть этот вывод:

  • Откройте окно pterm и используйте утилиту ditto для просмотра консоли (ditto описана в "Справочнике утилит QNX")

или

  • Откройте pterm и запустите приложение не из PhAB, а из pterm.

PhAB остаётся активным, пока исполняется Ваше приложение. Чтобы между ними переключаться, используйте панель задач Window Manager'а.

Отладка

PhAB позволяет Вам запускать Ваше приложение под отладчиком, который может оказаться полезным, если Ваше приложение терпит крах или ведёт себя неверно.

 Чтобы запустить Ваше приложение из отладчика, щёлкните на кнопке "Debug Application". Этот отладчик запускается в терминальном окне. Ваше приложение отображается при запуске его из отладчика.

Чтобы переключиться между отладчиком и приложением, используйте панель задач Window Manager'а.

Модифицирование команды отладчика

Принимаемым по умолчанию отладчиком является gdb. Если Вам необходимо каким-либо образом изменить эту команду, щёлкните на кнопке "Advanced Options" и отредактируйте команду отладчика. Если Вы используете вызовы printf() для отладки Вашей программы, простейший способ увидеть вывод – это изменить принимаемый по умолчанию отладчик на:

Характеристики

Тип файла
Документ
Размер
7,62 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее