с этого момента поподробнее:Сообщение от captain cobalt
1. у нас есть библиотека xyz.lib
2. у нее в таблице экспорта есть функция get_scr_addr@r_v_q
3. пишем программу которая эту функцию должна звать:
----------
require 'xyz.lib'
ld a, 5
call xyz.get_scr_addr
----------
если мифический компилятор просто будет искать в таблице экспорта библиотеки функцию начинающуюся с get_scr_addr@ и прописывать ее полное имя в таблице импорта программы то это ничего не дает кроме тех случаев когда мы сильно поменяли интерфейс данной конкретной функции. а интерфейс - это святое! если мы начинаем его постояноо менять то это уже нельзя назвать библиотекой.
причем если мы добавили в новую версию библиотеки функцию инициализации которая ДОЛЖНА вызываться первой, и пользователь об этом не знал/забыл то все эти сигнатуры не помогут. и линкер без ошибок все слинкует
однако и на винде (activex, .net) и на линуксе используются именно версии библиотеки. обычно есть minor и major версии. и софт не будет собираться если поменялась major версия, но смена мажорной версии как-раз и говорит о том что совместимости нет. если поменялась минорная версия, то как правило все собираетсяСообщение от captain cobalt




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
