From: chris AT searle1 DOT demon DOT co DOT uk (Chris Searle) Subject: Re: Cygwinb19.dll 26 Jun 1998 09:13:30 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII To: EPA AT datcon DOT co DOT uk Cc: GamerX_ AT usa DOT net, gnu-win32 AT cygnus DOT com >>>>> "Edward" == Edward Avis writes: >> if a person is running more than 1 Cygnus compiled application >> at a time, you are saving on memory space and harddrive space >> to go with dynamic linking. Edward> AFAIK, Windows loads a _separate copy_ of each DLL for Edward> every program that uses it. That's one of the reasons it Edward> uses so much memory. Edward> (Please tell me I'm wrong... :-( ) OK, you're wrong! Seriously though, the idea of a DLL is to be reusable by the calling apps. The first app to load it causes win to actually load the code. Subsequent apps simply add to a count. This is also decremented when an app releases the DLL and when it reaches zero the DLL unloads. I'm currently involved in the writing of several parser DLL's, we had hassles keeping the data of calling apps seperate. (Note, 16-bit tech here, I've not worked with 32 bit DLL's). I believe in the 16-bit architecture that a DLL in fact has no memory (standard stack/heap only here, not other types) and uses these from the initialising applications. Main problem I've seen with this is with the btrieve database engine. Two incompatible versions out there both commonly used by some fax software amongst others. When one is loaded and an app comes along and tries to load the other it just hooks to the incorrect version and this can cause major problems in the controlling databases. Wouldn't happen with static linking (I think) but then we've restarted the circle there ;-) Windows usage of memory? Well, I'd rather not start in on that one... All for now. -- Chris Searle - chris AT searle1 DOT demon DOT co DOT uk URL : http://www.searle1.demon.co.uk/ ICQ : 9437708 (see http://www.mirabilis.com) Page me : http://wwp.mirabilis.com/9437708 EmailExpress: 9437708 AT pager DOT mirabilis DOT com - 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".