Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / photon_old.doc
Скачиваний:
40
Добавлен:
02.04.2015
Размер:
7.88 Mб
Скачать
          1. Потенциальные проблемы с генерированием proto.H

Для повышения скорости программа, сканирующая Ваши файлы с исходным кодом на предмет прототипов функций, игнорирует препроцессорные директивы. Это может привести к определённым проблемам в файле proto.h.

Например, пусть мы имеем следующий код:

#ifdef DOUBLE

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

#else

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

#endif

x += 2*(i+x);

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;

}

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

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

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

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

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

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

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

appl

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

appl/src

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

appl/src/platforms

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

apply/wgt

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

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

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

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