RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Тут надо определиться :)


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Юрий Пронякин
To : LightElf
Subj : Тут надо определиться :)

> Впрямую - не позволяет. Если не переходить к частным случаям. Кроме ссылок наружу есть еще и внутренние ссылки (между объектами самого LX-файла). Их-то как разресолвить?

Переходы и вызовы подпрограмм (если они абсолютные) - точно так же, как и внешние. С этим проблем нет. А большинство их вобще относительные - там просто ничего делать не надо.

> Смотри, вот например DLL с всего двумя сегментами. Один сегмент - код, второй - шареные данные.
> В процессе 1 код грузим в адрес 0x1000, данные в 0x2000. В процессе 2 код грузим в адрес 0x5000, а данные - в 0x8000. Как фиксапить? Неважно, относительные ссылки на данные или абсолютные - при любом раскладе адреса/смещения в двух процессах будут разными.

Вот данные - это да, с ними такой фокус не пройдёт. Поэтому то решение получается не стопроцентное. Только проблема адресации данных - она ведь уже, строго говоря, не в формате файла, а в кодогенераторе компилятора.

Sun 10 Jun 2007 00:19 Mozilla/5.0 (OS/2; U; Warp 4.5; ru-RU; rv:1.7.12) Gecko/2005




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.