delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/01/05:36:22

Date: Sun, 1 Mar 1998 12:36:14 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: "Salvador Eduardo Tropea (SET)" <salvador AT inti DOT gov DOT ar>
cc: Chris Bilson <chrisb AT ms12 DOT hinet DOT net>, djgpp AT delorie DOT com
Subject: Re: DLL in djgpp???
In-Reply-To: <m0y8Ob3-000S2cC@inti.gov.ar>
Message-ID: <Pine.SUN.3.91.980301123556.13359I-100000@is>
MIME-Version: 1.0

On Fri, 27 Feb 1998, Salvador Eduardo Tropea (SET) wrote:

> DJGPP can be benefited from DLLs. Think about it:
> 
> 1) Disk space, the BIN directory can be reduced if libc is a DLL.
> 2) When you compile from RHIDE it calls gcc that calls cc1plus. The three 
> programs have A LOT of libc functions.

We seem to have this DLL discussion every 4 months or so.  People who
never saw previous threads related to DLLs might consider searching
the DJGPP archives at http://www.delorie.com/djgpp/mail-archives/.

To recap, DLLs have some non-trivial disadvantages as well, in
particular in an environment where different binaries are built by
different people.  Some of the disadvantages are:

	1) People who upload binary packages tend to patch their
           libraries a lot.  Using DLLs, this would mean having
           several incompatible versions of them around, which works
           against the disk space reduction argument.

	2) In a single-task OS such as DOS, DLLs only reduce memory
           footprint when you run nested programs (such as Make which
           calls GCC which calls cc1plus).  In other cases, you don't
           gain any memory.  And if you run several DJGPP programs
           from several DOS boxes on Windows, you probably cannot use
           DLLs, since every DOS box has its own private memory space.

	3) Static linking only links in those library functions which
           are actually used.  In contrast, a DLL includes *all* of
           the functions, so it is typically much larger; this again
           prevents any real run-time memory gains.  Unix systems
           don't suffer from this particular problem, because (1) all
           the programs which run there use the same library, and
	   (2) a large number of programs is running at any given
           time.

- Raw text -


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