From: chris@searle1.demon.co.uk (Chris Searle)
Subject: Re: Cygwinb19.dll
26 Jun 1998 09:13:30 -0700
Message-ID: <f98062522412000F1.cygnus.gnu-win32@searle1.demon.co.uk>
References: <c=GB%a=TMAILUK%p=DCNET%l=EXCHANGE2-980625102357Z-3080@smtp.datcon.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
To: EPA@datcon.co.uk
Cc: GamerX_@usa.net, gnu-win32@cygnus.com

>>>>> "Edward" == Edward Avis <EPA@datcon.co.uk> 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@searle1.demon.co.uk
URL         : http://www.searle1.demon.co.uk/
ICQ         : 9437708 (see http://www.mirabilis.com)
Page me     : http://wwp.mirabilis.com/9437708
EmailExpress: 9437708@pager.mirabilis.com

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
