
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Сообщ.
#1
,
|
|
|
У меня главный сегмент превзошел 64K и составляет 72K. И плюс один из дополнительных сегментов стал больше 64K, а именно 73K. Черевато ли это чем-либо? И может стоит подумать как перетасовать файлы в сегментах или перелопатить отдельные файлы, чтобы не один сегмент не был больше 64K.
В документе Targeting_Palm_OS.pdf написано: A multi-segment application is like a single-segment application except that the application contains multiple code segments. In a single-segment application, no code segment is larger than 64 kilobytes in size. Я так понимаю здесь опечатка, и имелось ввиду: In a multi-segment application, no code segment is larger than 64 kilobytes in size. В этом случае возникает вопрос, почему вообще CW позволяет находиться в моем проекте сегментам размерами больше 64K. И что с такими "большими" сегментами происходит при сборке исполняемого файла? Спасибо |
Сообщ.
#2
,
|
|
|
Помоему модельпамяти и тип приложения не должны влиять на ограничения к сегментам кода, но всё же дополню свой предыдущий пост: у меня Code Model: Small, Project Type: 68K Application (standard)
|
Сообщ.
#3
,
|
|
|
Положение вещей действительно несколько путает. Попробую объяснить.
Metrowerks делает семейство компиляторов. То есть есть отдельно компилятор и отдельно "формирователь бинарного файла". До 8 версии включительно prc-файл получался отдельной фазой, запускающейся после линкера. В 9 версии промежуточный шаг убрали. Собственно компилятор, получающий на выходе объектные файлы ничего о palmos не знает. Для него сегмент - это просто область памяти, а модель памяти - это выбор кода, который генерирует компилятор для вызова процедуры. Хуже того, сам palmos, в отличие, от hotsync прекрасно съедает ресурсы >64k и под симулятором - эмулятором такие программы могут прекрасно запускаться. Так что забота о "правильности" сегментов лежит на разработчике, который не взирая на услужливо-некорректные инструменты должен сам контролировать размеры сегментов. |