Howard Brazee wrote:
On Thu, 21 Dec 2006 23:22:34 +0900, David Crayford
<[EMAIL PROTECTED]> wrote:

For several reasons. Firstly, because your typical dynamically loaded COBOL or HLASM program is monolithic with one entry point and a parameter list. If you have lots of entry points you have to load and delete lots of modules. I have seen some nice tricks with vector tables at fixed offsets used in assembler programs though.

Trouble is, I've seen cases where a program depends on a .dll and fail
when the .dll gets updated.   I don't have enough familiarity to know
whether the programmer assumed something he shouldn't or whether the
.dll documentation wasn't clear - but the programs failed anyway (I
almost said "abended", but I am thinking of two different PC operating
systems).

I think you are referring to "DLL hell", which was a big problem with the Windows operating system. The problem was caused by Microsoft shipping different versions of a DLL with the same name. Of course, Windows is a very flaky operating system and doesn't have a concept like a CDE with use counts. A common problem was that the behavior of windows explorer would change if you loaded IE with a different version of the DLL. On UNIX platforms it's common practice to version stamp the DLL. For example, the XML Toolkit for z/OS ships DLLs with names like libxml4c5_6_0.dll or IXM4C56 for the PDS load modules. If a DLL is updated and backwards compatibility is not guaranteed then the version number is changed.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to