OpenWiki

Prc Tools Begginer

Edit this page (last edited March 21, 2005)
Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help

Краткое введение в компиляцию с помощью Prc-Tools

Статья кратко описывает процесс построения программы для Palm OS с помощью Prc-Tools. Предполагается что читатель знаком с программированием для Palm OS и умеет пользоваться документацие по компилятору. Кстати она находится здесь: C:\cygwin\usr\doc\prc-tools-2.3\index.html

Процесс инсталляции Prc-Tools можно посмотреть по следующим ссылкам. http://prc-tools.sourceforge.net/install/ , http://prc-tools.sourceforge.net/install/cygwin.html .

Prc-Tools является надстройкой над пакетом GCC и включает модифицированные компиляторы для m68k и arm. Поскольку GCC не умеет создавать файлы prc, то после процессу линковки добавляется новый этап - создание prc из исполняемого файла и ресурсов.

Специальные версии компиляторов носят названия по типу m68k-palmos-gcc.

Перечислим шаги компиляции программы из исходника ex.c, файла ресурсов ex.rcp в программу ex.prc

0. Одноразовый шаг - настройка на среду. Настройка определяет необходимую версию SDK и выставляет правильные опции компилятору.
palmdev-prep
1. Компиляция в объектник. Совершенно обычная компиляция.
m68k-palmos-gcc -с -o ex.o ex.c

2. Линковка в COFF-файл. Этот шаг совершенно обычный. На выходе мы получаем бинарник, который содержит отлинкованный код приложения, обернутый в COFF-модуль.
m68k-palmos-gcc -o ex ex.o

3. Компиляция ресурсов. Вместо компиляции в отдельный файлы ресурсов рекомендуется создать временный prcшник с расширением .ro, содержащим все ресурсы.
pilrc -ro -o ex.ro ex.rcp

4. Сбор ресурсов в итоговый prcшник. Старые примеры используют громоздкий способ с утилитой obj-res. Намного удобнее воспользоваться возможностью утилиты build-prc по вытаскиванию ресурса из COFF и ELF файлов. Просто укажите полученные на предыдущих шагах бинарники в командной строке.
build-prc -o ex.prc -n "Example" -c STRT -t appl ex ex.ro 

Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help
Edit this page | View other revisions
Print this page | View XML
Find page by browsing, searching or an index
Edited March 21, 2005 (diff)
Valid XHTML 1.0!Valid CSS!