User Tag List

Страница 13 из 18 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 320

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

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

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

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

    По умолчанию

    Цитата Сообщение от Vitamin
    А реестр- это бред.
    Что именно?
    Это ругательное слово?

    А сам подход конфигурации автозагружаемых плагинов?

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от elf/2
    у нас уже есть многозадачность?
    В примере - одна программа.
    Ведь могут одни библиотеки использовать другие?
    Цитата Сообщение от acidrain
    Не видел, уточните!
    1. Надо загрузить в регистр хэндл библиотеки.
    2. Косвенный переход медленнее.
    3. Регистр недоступен для передачи аргумента.
    Цитата Сообщение от elf/2
    к сожалению в услових критически малых ресурсов приходится думать в первую очередь об эффективности их использования, а не о комфорте работы. как я понимаю даже на клонах-монстрах памяти под пользовательские данные - мало. и отдавать одну-две страницы под парсеры/конфигурашки/реестры - это "преступная халатность"
    У меня другое мнение.

    Вон какие RAM-диски себе отгрохали. И всё ради комфорта работы.
    По сравнению с этим одна страница - ерунда.

  4. #3

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

    По умолчанию

    Цитата Сообщение от captain cobalt
    В примере - одна программа. Ведь могут одни библиотеки использовать другие?
    извиняюсь, невнимательно прочитал

    однако, иметь несколько версий одной библиотеки на диске - это суровая необходимость. иначе получим неработающие программы (тот самый dll hell)

  5. #4

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    1. Надо загрузить в регистр хэндл библиотеки.
    2. Косвенный переход медленнее.
    3. Регистр недоступен для передачи аргумента.
    1. +3.
    Код:
    lea GFXname(pc),a1
    jsr -$228(a6) ; OpenLibrary()
    Сколько вам надо регистров для передачи данных? 1 регистр из 16 32 битных доступных на момент перехода - это много?
    2. кто вам сказал? это не з80 и не х86.
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  6. #5

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

    По умолчанию

    Цитата Сообщение от elf/2
    однако, иметь несколько версий одной библиотеки на диске - это суровая необходимость. иначе получим неработающие программы (тот самый dll hell)
    Моя позиция:
    1. Каждая библиотека должна быть одна. На диске и в памяти.
    2. Нужен контроль целостности.
    3. Если совместимость достаточна - должно компоноваться.
    4. Всё остальное - проблемы программистов.

  7. #6

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

    По умолчанию

    Цитата Сообщение от captain cobalt
    1. Каждая библиотека должна быть одна. На диске и в памяти.
    2. Нужен контроль целостности.
    3. Если совместимость достаточна - должно компоноваться.
    4. Всё остальное - проблемы программистов.
    есть старая, но очень нужная программа требующая main.lib.1.0
    поставили новую программу, которой нужна main.lib.10.4

    как программист может эту проблему решить?

  8. #7

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

    По умолчанию

    Цитата Сообщение от GriV
    Всё-таки вы не прочитали по модули, потомы вы такое говорите.
    Я лишь высказываю идею.
    Вон, Vitamin говорит что "не противоречит".
    Цитата Сообщение от GriV
    Какая то софистика...
    Я совсем не про это вам говорил.
    Прежде всего, если ктото хочет многократно пользоваться одним модулем, находящимся резидентно в памяти, то нужна система управления модулями - централизованная - которой будут подчиняться все приложения.
    Динамический компоновщик.
    Загрузчик.
    Что ещё нужно?
    Цитата Сообщение от GriV
    Модуль это ГОТОВАЯ программа с точками экспорта, когда она внедрена компоновщиком, то она стала единым целым с программой-инициализатором и отодрать её от программы это сродни пытаться выдрать черенок плодонесущей яблони из дички после того как они 10 лет вживались - вы просто убьёте и то и другое без какого-либо результата.
    Попробуем объяснить иначе.

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

    Если так будет понятнее, мы можем пронумеровать уровни иерархии. Вот например в iS-DOS "уровни ядра" - пронумерованы. И имеется документированный способ выгрузить несколько верхних уровней, чтобы освободить память. Некоторые тяжёлые программы делают. При этом нижние уровни не умирают.

    Теперь пусть у нас есть динамический компоновщик. Всё точно так же. Только "ядро" и "уровни" не нужны, а есть просто модули.
    Цитата Сообщение от GriV
    В любом случае эта программа будет на совести программиста который её писал. Обычно комплект библиотек не являются внутри себя противоречивым, а значит и "кривые" модули будут связаны с криворукостью писавшего текст. Кроме того, если библиотека С версии 1.0 и 2.0
    Дело было так.
    Когда программист писал свою программу, библиотека B использовала C1.0.

    И только после этого разработчики B выпустили новую версию, совместимую с предыдущей, но использующую C2.0. Программист не виноват.

    Именно в этом смысл этого примера.
    Совместимость по версии на один уровень нетранзитивна на несколько уровней.
    Цитата Сообщение от GriV
    Хочу уверить что есть и очень хорошая - кооперативная с механизмом псевдовытеснения.
    Нужен пресс-релиз для народа.

  9. #8

    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    библиотека B использовала C1.0.
    Да, пример я понял
    Тем не менее, можно при помощи модульной структуры и этот момент обойти - кажется здесь уже говорилось про это - собрать модуль А с С1.0 и В с С2.0 - в итоге выйдет два модуля - расширенный А и расширенный В, причём естественно что такого рода изврат нужен только в случае, если кто-то нарочно или нет спровоцировал указанный развал библиотек по версиям.

    Цитата Сообщение от captain cobalt
    Только "ядро" и "уровни" не нужны, а есть просто модули.
    В том то и дело, что простая система-компоновщик может перерасти в целую систему, как это было с ис-досом (вот и вы на него ссылаетесь), витамин же предлагает просто систему облегчения стараний.

    Цитата Сообщение от captain cobalt
    Я лишь высказываю идею.
    Вон, Vitamin говорит что "не противоречит".
    Тогда это конструктив %-)))))))
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  10. #9

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

    По умолчанию

    Цитата Сообщение от acidrain
    2. кто вам сказал? это не з80 и не х86.
    Хорошо.
    Система команд действительно лучше подходит для таких вызовов.

    Зато NOP - и тот два байта. И команды имеют разную длину.

    Короче.
    Такой подход плохо подходит для "убогих процессоров". Правильно? Тогда зачем столько разговоров о нём.
    Цитата Сообщение от acidrain
    Сколько вам надо регистров для передачи данных? 1 регистр из 16 32 битных доступных на момент перехода - это много?
    Значение регистра убивается.
    Необязательно именно передавать аргумент.
    Может мы хотели просто, чтобы в нём хранилось число и не испортилось от вызова.

  11. #10

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

    По умолчанию

    Цитата Сообщение от elf/2
    есть старая, но очень нужная программа требующая main.lib.1.0
    поставили новую программу, которой нужна main.lib.10.4

    как программист может эту проблему решить?
    На мой взгляд, сверхцель динамической компоновки - максимально устранить дублирование функциональности.

    Ещё раз вспоминаем, что на спеке почти весь код вылизан. Нужно лишь закатать его в библиотеки.

    Ответ на вопрос - нужно исправлять "старую программу".
    Цитата Сообщение от Vitamin
    я все еще жду ответа на тему автоматического исключения неиспользуемых функций при компиляции с помощью аласма
    В моих материалах ничего нет. А что говорит maintainer?

    Зато такое уже лет десять есть в ZXASM:
    Наиболее полезна директива IFUSED,
    которая позволяет создавать библиотеки
    подпрограмм в исходных ассемблерных
    текстах, так что из всей библиотеки
    скомпилированы будут лишь те подпрог-
    раммы, к которым осуществлялось обра-
    щение.

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

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

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

Эту тему просматривают: 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

Ваши права

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