Как сегментировать приложение Palm OS 68K? - PullRequest
3 голосов
/ 18 сентября 2008

Если у вас есть приложение 68K, написанное с использованием CodeWarrior для Palm OS, как вы назначаете отдельные функции различным сегментам, не перемещая файлы вручную на вкладке сегментов в IDE?

Ответы [ 2 ]

3 голосов
/ 23 октября 2008

Я использую #pragma segment. Гораздо проще, чем вкладка сегмента CodeWarrior.

#pragma segment Foo
some code

#pragma segment Bar
some code

Теперь ваш код автоматически помещается в два разных сегмента.

2 голосов
/ 18 сентября 2008

Компоновщики CW 68K поддерживают это, используя файлы .seg, добавленные в ваш проект.

Формат

{ "<segment_name>" [= <hex>] "<name1>" ... "<namen>" }
"<segname1>" = "<segname2>"

Области, разделенные скобками, задают имена сегментов и перечисляют все функции / символы, которые будут выделены этому сегменту. Необязательное шестнадцатеричное значение (без начального 0x) используется для установки атрибутов сегмента, поэтому оно не будет слишком полезным в Palm OS. Другая нотация используется для переименования сегмента. Это выглядит полезным для извлечения кода из статической библиотеки, созданной с помощью вызовов «#pragma сегмент».

Этот формат не упоминался в руководствах CodeWarrior, но когда я был в Metrowerks, я проверил исходный код компоновщика 68K и убедился, что он будет работать. Это должно работать как для Mac OS 68K Linker, так и для Palm OS 68K Linker, поскольку они совместно используют код, связанный с сегментацией.

...