🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.os2
Article #342

DLLs

#342
From: rhoda
Date: Wed, 13 Dec 1989 15:08
47 lines
2514 bytes
There are essentially 2 types of DLLs:
	1.  stand-alone DLLs (Microsoft term)
		these are linked with LLIBCDLL.LIB & DOSCALLS.LIB
		the DLL has the C run-time code linked into it
	2.  C run-time DLLs and associated DLLs and programs
		termed private C run-time DLLs by Microsoft
		a C run-time DLL (CRT DLL) is made by linking CRTLIB.OBJ
			& CDLLOBJS.LIB & DOSCALLS.LIB
		a CRT DLL can contain all or some of the C run-time
			functions
		a CRT DLL can also contain custom init/termination code
			or it can use the default code
		an associated DLL is made by linking CRTDLL.OBJ & the
			import lib of the CRT DLL & DOSCALLS.LIB
		an assocated program (.exe) is made by linking CRTEXE.OBJ
			& the import lib of the CRT DLL & DOSCALLS.LIB

Notice how the 2. says "C run-time DLLs and *associated* DLLs and programs".
That is how the documentation speaks of them.  Sort of a unit.  Here are
a couple of quotes from the doc.

"A private C run-time DLL must be closely tied to its programs and
associated DLLs."

"Processes and DLLs that share a private run-time DLL share environment
strings and global C run-time data (for example, file pointers for
buffered I/O and memory allocated with the malloc function).  Therefore,
the program and the DLLs must cooperate on the use of this data."

*QUESTION*

Let's say one makes a *generic* C run-time DLL.  This generic CRT DLL 
would include all the C run-time functions (use CDLLOBJS.DEF to get
them all) and would not have any custom init or termination code.

WHY WOULD THIS GENERIC CRT DLL HAVE TO BE TIED TO ANY OTHER DLL OR ANY
PROGRAM?

Apparently, I'm missing something.  I think what I'm missing has to do
with the 2nd quote.  I don't fully understand the 'whys' of that quote.  

Thanks for any help,
----------------------------------------------------------------------
Rhoda Neimand			                  [I speak for myself]
{sun,lll-tis,pyramid,pacbell}!sybase!rhoda -or- rhoda@sybase.com
"I didn't want to, Jim"		  Mr. Spock in _This Side Of Paradise_
----------------------------------------------------------------------
Technical Details
Message-ID: <7514@sybase.sybase.com>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!mtxinu!sybase!mercury.sybase.com!rhoda

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!mtxinu!sybase!mercury.sybase.com!rhoda
From: rhoda@mercury.sybase.com
Newsgroups: comp.os.os2
Subject: DLLs
Message-ID: <7514@sybase.sybase.com>
Date: 13 Dec 89 15:08:04 GMT
Sender: news@sybase.sybase.com
Reply-To: rhoda@mercury.sybase.com ()
Organization: Sybase, Inc.
Lines: 47