Задать вопрос

Загружается ли код DLL библиотеки в виртуальную память?

Добрый день
Насколько я понял - DLL или EXE модули должны находится в оперативной памяти если потоку нужно будет вызвать из них функцию. В литературе что я читаю написано: "Чтобы приложение (или другая DLL) могло вызывать функции, содержащиеся
в DLL, образ ее файла нужно сначала спроецировать на адресное пространство
вызывающего процесса" (Джеффри Рихтер). Что из себя представляет это адресное пространство и почему нету ни слова ни о виртуальной или физической памяти?
  • Вопрос задан
  • 340 просмотров
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Merion Academy
    Администрирование MS Windows Server
    1 месяц
    Далее
  • Нетология
    Инженер по автоматизации
    13 месяцев
    Далее
  • Skillbox
    Системный администратор с нуля
    6 месяцев
    Далее
Решения вопроса 1
pavelkarinin
@pavelkarinin
Full Stack Web Developer
Если объяснить очень-очень по-простому и не вдаваться в тонкости, то дело обстоит так: DLL, которые содержат исполняемые функции, методы и прочее действительно должны быть загружены в адресное пространство, которое представляет собой некий буфер, он выделяется из объема оперативной памяти и этот буфер принадлежит только этому процессу, т.е. тому процессу, в котором выполняется приложение. Физическая память к этому диалогу между приложением и DLL не имеет никакого отношения... это если кратко и без фанатизма.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Jump
@Jump Куратор тега Windows
Системный администратор со стажем.
Что из себя представляет это адресное пространство
Адресное пространство это виртуальная память.

и почему нету ни слова ни о виртуальной или физической памяти?
Потому что никакой физической памяти нет, есть только виртуальная.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Монетка Екатеринбург
от 130 000 до 160 000 ₽
Гринатом Петрозаводск
До 80 000 ₽
Алабуга Екатеринбург
от 127 500 ₽