Куда уж им амижные-то за образец брать, они ж её никогда в глаза не видели... =) пц (линух и винда) 'разъел моск'... :(Цитата:
Сообщение от acidrain
Вид для печати
Куда уж им амижные-то за образец брать, они ж её никогда в глаза не видели... =) пц (линух и винда) 'разъел моск'... :(Цитата:
Сообщение от acidrain
А что в них, либах амижных, особенного? И почему миллионы леммингов и в этом случае ошиблись?Цитата:
Сообщение от yoko_ono
Хехе. А если сказать "(от)куда уж вам qnx'овые (linux'овые, bsd'шные etc) бинарники брать, вы ж его никогда в глаза не видели... =) амига 'съела моск, даже костный, напихала вместо него опилок, нацепила дурацкую улыбку и отправила работать продавцом в магазины Евросети' ;)Цитата:
Сообщение от yoko_ono
А если по теме. Структура модулей, например, для Linux (ELF) поддерживает множество типов данных, что весьма хорошо для библиотек, создаваемых на ЯВУ (if any...). Поддерживает ли это пресловутые hunks?
Ошиблись. =) А особенность в том, что они не так сделаны и не ресурсоемкие и для работы им не надо много тонн памяти, как в других случаях.Цитата:
Сообщение от icebear
Цитата: А если по теме. Структура модулей, например, для Linux (ELF) поддерживает множество типов данных, что весьма хорошо для библиотек, создаваемых на ЯВУ (if any...). Поддерживает ли это пресловутые hunks?
Хммм. я собственно не знаю про типы данных описываемых и поддерживаемых в эльфах, но и смысла не вижу. Все типы данных на амиге, если вы не в курсе, поддерживает система datatypes. Кстати, до сих пор многие оси черпают из этой системы плюсы. Про яву не знаю что и как =(
Вы бы сначала изучили что такое амижные либлы и с чем их едят.
For info: http://www.nedopc.org/forum/viewtopi...&highlight=lib
http://www.nedopc.org/nedopc/shaos/libman_r.shtml
Почитал. Познавательно. А теперь несколько технических вопросовЦитата:
Сообщение от acidrain
1) По первой ссылке описание заголовка библиотеки, по второй пример, не соответствующий описанию структуры. Это два разных формата? Если да, то где описание на второй формат
Далее разговор про первый (описанный) формат
2) Релоцируемость модуля присутствует (технических подробностей не увидел правда, было бы интересно, киньте ссылкой, если есть), зачем нужен выбор желаемого окна?
3) Керналь в виде точек входа- не есть гут, по крайней мере для той цели, которую я описал первым постом ветки. Вместо этого должна быть линковка с коррекцией кода вызывающего модуля для подстановки конкретных адресов вызова (а также структур данных)
По поводу второй ссылки. Поддержки релоцируемости не замечено. Я прав?
Уважаемый acidrain, видимо, погорячился, или же я чего-то не поняла. По ссылкам что-то, имеющее отношение к спринтеру.Цитата:
Сообщение от Vitamin
На амиге либа - тот же ехешник, и так же фиксится под абсолютные адреса при загрузке.Цитата:
Далее разговор про первый (описанный) формат
2) Релоцируемость модуля присутствует (технических подробностей не увидел правда, было бы интересно, киньте ссылкой, если есть), зачем нужен выбор желаемого окна?
То есть вы утверждаете, что корректировать каждую левую программу под абсолютные адреса библиотеки - лучше, чем давать каждой программе лишь адрес начала точек входа на либу? Тем самым наглядно демонстрируется тезиc 'пц выел моск'...Цитата:
3) Керналь в виде точек входа- не есть гут, по крайней мере для той цели, которую я описал первым постом ветки. Вместо этого должна быть линковка с коррекцией кода вызывающего модуля для подстановки конкретных адресов вызова (а также структур данных)
Программы на амиге могут быть СОВЕРШЕННО релоцируемые, без данных релокации вообще, и при этом замечательно пользоваться любыми либами.
С единственным исключением - на Z80 нет команды call (ix+const)
жжошь Лена!!!Цитата:
Сообщение от yoko_ono
На мой скромный взгляд, изначальная идея уважаемого Vitamin'a продиктована больше подражательством пц, нежели реальной необходимостью и удобством.
Как он правильно заметил, линковка с некими либами в рунтайме (в момент запуска программы) приведёт к коматозу. Причём, не побоюсь этого слова, к жуткому коматозу. Гораздо быстрее будет прочитать 'статически слинкованный' (пользуясь пцшными терминами) кодовый блок, который к тому же и зажмётся лучше, чем много отдельных кусочков. Идея либ ещё как-то жизнеспособна в рамках некой ОСи (уровня хотя бы издоса), да и то уж никак не с линковкой в момент запуска заново каждой программы.
Попутался. Читал ссылки в обратном порядке, поэтому... :)Цитата:
Сообщение от acidrain
В таком случае что такое перемещающаяся таблица? Каково ее назначение, формат, особенности?
А еще под Linux есть линковщик (ld, gcc). Это тоже винда?????? :)))Цитата:
Сообщение от acidrain
Читаем тему с начала. Грузим стартовый кодовый блок (который может быть нерелоцируемым), а к нему уже клеим (и настраиваем на адрес) необходимые библиотеки, подставляя нужные адреса в точки вызова.Цитата:
Сообщение от yoko_ono
В огороде бузина, а в Киеве дядька. На х86 тоже всяких команд полно, а на АРМ тоже дофига. А вот 8051 по сравнению с зетником вообще убожество, а ведь дофига чего на нем слабать можно! Так что не путайте кислое с длинным. Здесь разговор о спектруме и тех возможностях других платформ, которые можно подсмотреть и использовать. И командаЦитата:
Сообщение от yoko_ono
к их числу не относится.Цитата:
Сообщение от yoko_ono
ЗЫ. А я думал что Амига- добрый такой компьютер... Оказывается тоже моск съела у некоторых граждан...
Если разобраться, то все кому-то подражают. Автора первых "стрелочек и окошек" в каком-нибудь буте или коммандере тоже небось с пеной у рта обвиняли в подражательстве Xerox/Apple или (страшным шепотом) ВИНДЕ!!! И ничего, это не мешало резво топтать клавиши и рулить стрелкой, а потом высунув язык присобачивать мышу.Цитата:
Сообщение от yoko_ono
При том уровне развития ПО для разработки, которое имеем сейчас, идея весьма сыра (использование кросс-ассемблеров не подразумевается).
Не такой уж и жуткий. Основные потери на загрузку/распаковку файлов. Линковка (особенно если используются символические имена) тоже ресурсоемка (но меньше, чем дисковые операции), а вот настройка на адреса весьма быстра.Цитата:
Сообщение от yoko_ono
Ну вот сейчас везде сплошь и рядом такое и есть- грузится моноблок, за ним статически слинкованный и упакованный кусок кода. На кону мочало, начинай сначала...Цитата:
Сообщение от yoko_ono
Смысл идеи- вынести общие куски кода в отдельные файлы (части файла в случае архива библиотек). Если пользователь готов поступиться временем загрузки программы в угоду универсальности и обновляемости- пожалуйста, не готов- лепим моноблоки и получаем что хотели