На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование под PalmOS"
Правила раздела просты:
1. Будьте вежливыми.
2. Задавате вопросы только по теме. Пользовательские вопросы (у меня не работает пальм) являются оффтопиком. Пользуйтесь конференциями palmz.in, hpc.ru, ihand.ru .
3. Поиск вареза запрещен.
4. Пользуйтесь поиском. Не надейтесь, что кому-то доставляет удовольствие отвечать в сотый раз на один и тот же вопрос.
  
> Мультисегментные приложения , Ограничения для сегментов
    У меня главный сегмент превзошел 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. И что с такими "большими" сегментами происходит при сборке исполняемого файла?
    Спасибо
      Помоему модельпамяти и тип приложения не должны влиять на ограничения к сегментам кода, но всё же дополню свой предыдущий пост: у меня Code Model: Small, Project Type: 68K Application (standard)
        Положение вещей действительно несколько путает. Попробую объяснить.

        Metrowerks делает семейство компиляторов. То есть есть отдельно компилятор и отдельно "формирователь бинарного файла". До 8 версии включительно prc-файл получался отдельной фазой, запускающейся после линкера. В 9 версии промежуточный шаг убрали.

        Собственно компилятор, получающий на выходе объектные файлы ничего о palmos не знает. Для него сегмент - это просто область памяти, а модель памяти - это выбор кода, который генерирует компилятор для вызова процедуры.

        Хуже того, сам palmos, в отличие, от hotsync прекрасно съедает ресурсы >64k и под симулятором - эмулятором такие программы могут прекрасно запускаться.

        Так что забота о "правильности" сегментов лежит на разработчике, который не взирая на услужливо-некорректные инструменты должен сам контролировать размеры сегментов.
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0184 ]   [ 14 queries used ]   [ Generated: 5.07.25, 06:30 GMT ]