Share this post

Link to post

Share on other sites

Not true actually. The DLL is demand paged into memory. So, if there is a part of the DLL that you don''t use, then it is never actually loaded off the disk. The DLL is memory mapped, so depending on the internals of the mem mapping APIs on Win32, the entire range of pages for the DLL is probably reserved, but only commited and paged in from disk when they each page is accessed.

Of course, for all intensive purposes, and probably as far as anyone cares, the entire DLL is loaded =) meaning that you don''t have to explicitly load pieces of it yourself.

EXE''s are the same (demand paged from disk).

A good example of this is wrt resources. If you have a big .AVI file in your resources, it wont actually take up physical memory until you try to access it, at which point it will be loaded (and stay resident until the process exits).