delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/06/26/09:13:30

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: <f98062522412000F1.cygnus.gnu-win32@searle1.demon.co.uk>
References: <c=GB%a=TMAILUK%p=DCNET%l=EXCHANGE2-980625102357Z-3080 AT smtp DOT datcon DOT co DOT uk>
Mime-Version: 1.0
To: EPA AT datcon DOT co DOT uk
Cc: GamerX_ AT usa DOT net, gnu-win32 AT cygnus DOT com

>>>>> "Edward" == Edward Avis <EPA AT datcon DOT co DOT 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 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".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019