к сожалению на инглише только - http://www.mways.co.uk/amiga/howtoco...guidelines.php
пока в поисках еще линков на аутодоки...
к сожалению на инглише только - http://www.mways.co.uk/amiga/howtoco...guidelines.php
пока в поисках еще линков на аутодоки...
Честно? не понял. Что такого специфичного в линковке у винды, чего нет больше нигде?Сообщение от acidrain
Пошли Будем плясать от печки, думаю недопонимания уменьшится.Сообщение от acidrain
Имеем два подхода к проблеме линковки:
1) Загрузчик подгружает необходимые библиотеки, линкует их между собой и главной программой, настраивает адреса и стартует главную программу. С ее точки зрения, она состоит из сплошного куска кода/данных- как обычная спектрумовская программа.
2) Главная программа должна подключить использованные библиотеки. При этом они
а) грузятся в хвост главной программы и настраиваются. В итоге получаем то же что и в 1)
или
б) грузятся в заранее определенное место, настраиваются и вызываются уже там. Ограничивает свободу распределения памяти.
Так? Или я что-то упустил?
Я б с удовольствием дал нормальные ссылки на нужные описания, но они под (с) и так сходу в нете их не найти.
Посему токо всякая чепуха и поподается...
http://wandel.ca/homepage/execdis/devices_doc.txt
Блин... Линковка- это связь нескольких кусков кода для совместной работы. В первом случае (моем методе) это делается путем непосредственного слияния кусков кода. Во втором случае (твоем, амижном, виндовом и т.д. методе) случае это делается путем получения хендла и вызова функций. Линковка (в любом виде) исключается только в случае если "все свое ношу с собой" и больше ничего не надо.Сообщение от acidrain
Vitamin, чего тебе эта линковка далась?
Что ты линкуешь, если твоя прога даже не подозревает о том, как либла функцию выполняет? Прога делает лишь вызов подпрограммы, ждет результа (подтверждения) и продолжает дальше. Может там вообще будет ret вместо подпрограммы. Зачем линковать твою прогу к моей либле, если сидит себе резидентом (например) либла graphix.library в банке №н. Прога лишь делает запрос к основной либле (ехес) (скажем, с бейсиком грузится) об открытии либлы графикс, затем пользует ее нафсю.
Потом прога закрылась, а либла осталась, если скажем не было bc,gfx_handle; de,flushlibrary; hl,execbase; jp (hl), то ее может следующая прога заюзать! Причем, заметь, БЕЗ ЛИНКОВКИ! =)
Ага. А откуда эта либа взялась? Нарисовалась из воздуха? Плюс опять, где она лежит весьма важно- при статическом распределении памяти (как это обычно для ситуации без ОС) нужен полный контроль над памятью. Да и не будет следующая прога юзать эту либу! Потому как нету ОС и поддерживающих !!BEEP!! средств (раз уж тебя так ломает слышать слово "линковка" , хотя ты описал именно ее).Сообщение от acidrain
Читай:
Назвай как хочешь, пусть будет открытие либлы отныне называться линковка.Сообщение от acidrain
Пойми. Старые проги _не_ будут пользоваться твоими дллками (так как это не либла, а лишь пцшная дллка, тьху!), а новые проги - вполне могут знать, что банка №н - под либлы. Номер банки можно определить перед открытием и проге это надо знать. Как ты говоришь - тоже ведь не то, а вдруг начнет распаковывать куски, самомодифицироваться прога и еще вдобавок будет автокод в память мусорить. ТАДА что? Висяк? Тут уже тебе не шутки шутить Это типа играть по правилам, отдаленно напоминающие оську
Без оськи это совершенно напрасное извращение.Сообщение от acidrain
Концепция "либа в банке" хороша для программ, поддерживающих плагины. В этом случае программа играет роль ОС, а плагины- роль приложений. Дает им порулить системными вызовами (без промежуточного вызова- открытия библиотеки) и т.п.
Я же говорю несколько о другом. О runtime-самосборке программ из имеющихся на диске библиотек. В этом случае не страшна и самомодификация и имеется полная власть над памятью. За это дело придется платить задержками при загрузке (или собрать все в моноблок и получить обычную программу).
ЗЫ. Изначально моя мысль стремилась к следующему- доработать мою модульную структуру до вида, применимого в некоторых моих программах. Для этого собираю информацию о способах представления объектного кода на разных платформах, пытаясь взять что-то интересное ото всех. Попутно размечтался (см. первый пост ). А тут налетел народ и давай расхваливать амигу (притом чисто на словах, безо всякой полезной для меня информации). Ты исключение- подкидываешь ссылки, кой-что нужное уже накопал
Линк на либмана я пару раз упоминал на этом форуме - 0 заинтересовавшихся
Если интересующихся наберется >= 3, то обещаю портировать со спринтера на спектрум - примеры либ в этом формате имеются, штука сильно перспективная была, да вот тока спринтер загнулся...
Администратор сетевого сообщества nedoPC.org
Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)