Re[33]: Что дают шаблоны?
От: Дарней Россия  
Дата: 27.10.04 10:51
Оценка: +2
Здравствуйте, Сергей Губанов, Вы писали:

СГ>О, кстати, а давайте еще проще! Вот есть DLL в которой есть процедура. Что Вы делаете когда ее динамически загружаете? Как Вы вытаскиваете из DLL процедуру? Правильно, Вы вытаскиваете не саму процедуру, а лишь только получаете ее адрес. Вот Вам и процедурная переменная. То есть без процедурных переменных (указателей на функции), даже DLL динамически загрузить нельзя.


Если мы говорим про ЯВУ, то там это не является обязательным — указатели на функции могут быть скрыты где-то глубоко внутри реализации. Мы просто имеем некий оператор, который сам загружает DLL и получает из нее нужный для НЕГО указатель. А другой оператор использует тот самый указатель, чтобы вызвать функцию и через нее — какой-то метод в модуле.
Именно так сделано в вышеупомянутом COM. Клиентскому коду знать что-либо о DllGetClassObject просто не нужно.

Надеюсь, мне не нужно рассказывать — что такое отделение интерфейса от реализации и зачем это нужно?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.