S
S
sddvxd2018-04-30 20:48:26
C++ / C#
sddvxd, 2018-04-30 20:48:26

Is the DLL code loaded into virtual memory?

Good afternoon
As far as I understand - DLL or EXE modules must be in RAM if the thread needs to call a function from them. The literature I read says: "In order for an application (or other DLL) to call the functions contained
in the DLL, its file image must first be mapped to the address space
of the calling process" (Jeffrey Richter). What is this address space and why is there no word about virtual or physical memory?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
P
Pavel Karinin, 2018-04-30
@sddvxd

If you explain it in a very, very simple way and without going into subtleties, then the situation is like this: DLLs that contain executable functions, methods, etc. really need to be loaded into the address space, which is a kind of buffer, it is allocated from the amount of RAM and this buffer belongs only to this process, i.e. the process in which the application is running. Physical memory has nothing to do with this dialogue between the application and the DLL ... if briefly and without fanaticism.

A
Artem @Jump, 2018-05-01
curated by the

What is this address space
The address space is virtual memory.
and why is there no word about virtual or physical memory?
Because there is no physical memory, there is only virtual memory.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question