There are two things at work here that might be making it look a bit tricky:
virtual memory - see e.g. articles at Wikipedia for a refresher of the concepts of virtual memory or page table.
address space randomization (or ASLR)
When a library is to be loaded (for a new process or dynamically say via dlopen()), the dynamic linker/loader (ld-linux.so) ...
Are they raw files loaded by special mechanisms or typical .so or .dll shared objects? Given the dll tag I am assuming you are concerned about .dll files.
On importing a program for the first time you can select Options
and then activate "Load External Libraries"
Configure the paths properly via Edit Paths.
The paths are searched for shared ...