delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/07/06/14:00:28

From: Thomas Knudsen <tk AT geb DOT gfy DOT ku DOT dk>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Making Libraries
Date: Mon, 6 Jul 1998 09:48:52 +0200
Organization: News Server at UNI-C, Danish Computing Centre for Research and Education.
Lines: 49
Message-ID: <Pine.SGI.3.95.980706092149.13588B-100000@geb.gfy.ku.dk>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 980705163518 DOT 23984c-100000 AT is>
NNTP-Posting-Host: geb.gfy.ku.dk
Mime-Version: 1.0
In-Reply-To: <Pine.SUN.3.91.980705163518.23984c-100000@is>
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

On Sun, 5 Jul 1998, Eli Zaretskii wrote:

> 
> As for the shared libraries, the situation you describe is an ideal
> one, where the shared libraries serve a coherent set of programs
> maintained by a single team.
> 
> In a less ideal situation, such as the one which exists with Windows
> programs, the different and incompatible versions of the same DLLs
> make an enormous mess, and are one of the main causes for frequent
> crashes of end-user machines.  If you want to be sure your programs
> will not crash and burn on the machine of John Doe the user, in
> practice you need to distribute the shared library with the
> executable, which all but defeats the purpose of the shared libraries.

but in cases, where the application consists of a (potentially large)
group of executables, all sharing a large group of common code, then it
*could* be really nice: Consider (a realistic) example of 100 programs,
each linking in a full library of the order of 0.5MB in size, while the
actual object code of each program may be just around ten kilobytes:

Distributing statically linked versions would require approx. 100*0.5MB =
50MB, which is unlikely to compress into something, that will fit onto a
single diskette. 

Dynamically linked versions will only require 100*10kB+0.5MB = 1.5MB,
which is *extremely* likely to compress into a single-diskette
distribution. 

Also, invocation of the programs is likely to speed up, because the shared
library is very likely to be already in the disk cache, when any of the
programs are loaded.

Hence, while not saving any core memory, shared libraries in the DJGPP
environment may help fight software megalomania (bloatware). This does not
mean I am volunteering to implement it (I would have no idea of how to do
and where to start), but if anyone should have the guts to attack the
problem, I do not think they should be discouraged: Fighting Software
Megalomania is one of the ways we can make the world a better place to
live!


-- 
Thomas Knudsen                         | www:  http://www.gfy.ku.dk/~tk/
National Survey and Cadastre - Denmark | e-mail:            tk AT gfy DOT ku DOT dk
Geodetic Department, Rentemestervej 8  | Direct Phone:   +45 35 87 52 64
DK-2400 Copenhagen NV, Denmark         | FAX:            +45 35 87 50 52


- Raw text -


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