User Tag List

Страница 16 из 18 ПерваяПервая ... 12131415161718 ПоследняяПоследняя
Показано с 151 по 160 из 320

Тема: Библиотеки-модули-программы...

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    Какие ещё преимущества? Подход пропатчивания полуфабриката требует одновременно держать в памяти полуфабрикат, таблицы импорта и пропатчивания. Распаковывающий компоновщик может создавать код прямо поверх упакованного. Нужен лишь обычный для такого дела "разрыв" в десяток байт.
    "Папа, а ты с кем только что сейчас разговаривал?" (С)

    Борщ отдельно, мухи отдельно. Отдельно распаковка (опциональная), отдельно компоновка (обязательная).
    А если имелось ввиду:
    Цитата Сообщение от elf/2
    сжатие тут не причем... автор предлагал использовать ссылки "назад" на уже сгенереный код
    то мы получаем обычный упаковщик (далеко не факт что оптимальный и стандартный). А как насчет того, что одинаковые куски кода патчатся по разному в разных местах?

    Таблицы релокации/экспорта/импорта должны быть. Без них никак.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ЗЫ. Стою на асфальте я, в лыжи обутый...

  4. #3

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    ну я предлагаю использовать brainf*ck (http://www.muppetlabs.com/~breadbox/bf/) или whitespace (http://compsoc.dur.ac.uk/whitespace/)

    затем делаем виртуальную машину, для которой этот язык будет родным. потом надо реализовать эту машину в силиконе и поставить в качестве сопроцессора на панельку ПЗУ.
    Это чтобы хоть что-нибудь сказать?
    Цитата Сообщение от elf/2
    надо еще радикальней - по одному биту
    Спековые распаковщики, такие как Hrust, распаковывают по одному байту, а упакованный поток в определённых случаях читают по одному биту.

    И широко используются при сборке софта. Файл размером на всю память распаковывается одну-две секунды.
    Цитата Сообщение от elf/2
    сжатие тут не причем... автор предлагал использовать ссылки "назад" на уже сгенереный код
    Результат - компактность объектного модуля. Сжатие.

  5. #4

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    Это чтобы хоть что-нибудь сказать?
    нет, целей было две:
    1. чтобы модераторы срочно перенесли эту тему во флейм. поскольку в очередной раз начинается обсуждение "сферических коней в вакуме"
    2. дать ссылки на интересные языки программирования

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

  6. #5

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    А как насчет того, что одинаковые куски кода патчатся по разному в разных местах?
    Копируется уже пропатченый код.
    Если код надо пропатчить по-другому, то создаётся код какой надо, и патчится как надо.
    Цитата Сообщение от Vitamin
    Таблицы релокации/экспорта/импорта должны быть. Без них никак.
    Это просто список внешних символов.
    Часто один символ нужно пропатчить более чем в одно место. Все эти места перечисляются в таблице пропатчивания. Так вот она не нужна. Каждое место пропатчивания определяется текущей точкой распаковки.

    Вообще, как только каждый из внешних символов использован хотя бы один раз, дальше их можно копировать из распакованного куска, и таблицу импорта можно затирать.

  7. #6

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    Копируется уже пропатченый код.
    Если код надо пропатчить по-другому, то создаётся код какой надо, и патчится как надо.
    В таком случае, нахрена? Для реализации этой фигни надо разрабатывать новый пакер. Ты готов? Вперед и с песней, я подожду с результатами. Заодно поменяешь свои взгляды на проблему.

    Цитата Сообщение от captain cobalt
    Каждое место пропатчивания определяется текущей точкой распаковки.
    Предлагаешь битовую карту пропатчивания? У нее фиксированный размер, явно зависящий от размера кода с коэффициентом 1/8. Не жирно ли? В предлагаемом мною методе на каждую точку пропатчивания расходуется 4 байта, при этом автоматически поддерживаются ссылки на внешние точки. В таком случае размер таблицы не привязан к размеру кода, а зависит от его структуры.

    Цитата Сообщение от captain cobalt
    Вообще, как только каждый из внешних символов использован хотя бы один раз, дальше их можно копировать из распакованного куска, и таблицу импорта можно затирать.
    Не забывай, что модулей может быть больше чем один. Как ты заранее предусмотришь все варианты раннего/позднего использования символов? Кстати, их отношение (внешний/внутренний) зависит от текущего рассматриваемого модуля.

    Цитата Сообщение от elf/2
    нет, целей было две:
    1. чтобы модераторы срочно перенесли эту тему во флейм. поскольку в очередной раз начинается обсуждение "сферических коней в вакуме"
    2. дать ссылки на интересные языки программирования
    Лыжи! Лыжи!!!

    Оффтоп: http://rsdn.ru/article/philosophy/languages.xml

  8. #7

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    единственно что меня интересует в рамках новой темы обсуждения: где вам удалось найти этот термин "язык загрузки" и как это будет по английски.
    Из советской кибернетики 70-80-х годов.
    По английски наверное никак не будет.

    Выше была дана ссылка на варезный .djvu где понятие объясняется и приводится конкретный пример языка загрузки (со стеком но без сжатия).
    Цитата Сообщение от elf/2
    остальное в приложении к спеку - чистое теоретизирование
    Практика обычно следует за теорией.

  9. #8

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    Выше была дана ссылка на варезный .djvu где понятие объясняется и приводится конкретный пример языка загрузки (со стеком но без сжатия).
    ссылку не заметил можно повторить?

  10. #9

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    Предлагаешь битовую карту пропатчивания?
    Нет.

    Пусть у нас есть LZ77 распаковщик. Он может выполнять команды (с аргументами) :
    1. Скопировать из входного потока в выходной
    2. Скопировать из выходного потока в выходной
    3. Конец распаковки.

    Теперь мы добавляем к нему стек и команды:

    4. Положить константу на стек
    5. Положить значение из таблицы импорта на стек
    6. Переписать число со стека в выходной поток
    7. Сложить два числа на стеке
    ... и т.д. команды стековой машины
    Цитата Сообщение от Vitamin
    Не забывай, что модулей может быть больше чем один. Как ты заранее предусмотришь все варианты раннего/позднего использования символов? Кстати, их отношение (внешний/внутренний) зависит от текущего рассматриваемого модуля.
    Хорошо, пусть таблица импорта для простоты остаётся.
    Всё равно она меньше чем таблица пропатчивания от которой мы избавились.

  11. #10

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    Еще один спецкомпилятор не предлагать.
    Тогда предлагаю "ещё одну утилиту".

    Она будет брать твои компилированные модули и упаковывать их.

Страница 16 из 18 ПерваяПервая ... 12131415161718 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 9
    Последнее: 10.11.2024, 08:26
  2. Управление эмулятором из zx-программы
    от Spectre в разделе Эмуляторы
    Ответов: 42
    Последнее: 29.08.2006, 12:58
  3. Кто может помочь в создании программы
    от Лебедев в разделе Люди
    Ответов: 9
    Последнее: 22.07.2006, 09:41
  4. Программы для модемов
    от p@lex в разделе Софт
    Ответов: 21
    Последнее: 11.02.2006, 21:36

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •