From: benny AT crocodial DOT de (Benjamin Riefenstahl) Subject: Re: Cygwinb19.dll 26 Jun 1998 22:12:04 -0700 Message-ID: <3593698E.7442723C.cygnus.gnu-win32@crocodial.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit To: "'gnu-win32 AT cygnus DOT com'" Hi Ed, Edward Avis wrote: > AFAIK, Windows loads a _separate copy_ of each DLL for every program > that uses it. That's one of the reasons it uses so much memory. > > (Please tell me I'm wrong... :-( ) You're wrong ;-) Windows creates the *illusion* of loading "a separate copy of each DLL for every program." Actually DLLs are just memory mapped copy-on-write. The "memory mapping" part means that executable code does not go into the swap files and that all programs can use the same memory for a common DLL, and the "copy-on-write" part means that if for some reasoncode pages need to be changed after loading (e.g. a debugger setting breakpounts, or relocations taking place) the affected pages will still be duplicated for this process and possibly copied to separate pages in the swap. so long, benny ====================================== Benjamin Riefenstahl (benny AT crocodial DOT de) Crocodial Communications EntwicklungsGmbH Ruhrstraße 61, D-22761 Hamburg, Germany - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".