DLL Programmer's Guide for TNS/R Systems
DLLs on a TNS/R System
DLL Programmer’s Guide for TNS/R Systems—522203-002
1-9
The TNS/R Library Facility
•
The program indirectly references D, E, F, and G, so these libraries do not appear
in the program’s libList.
•
The program’s loadList comprises all the libraries shown in the figure.
•
A indirectly references G, and A’s loadList comprises D, E, and G.
Neither a loadfile nor its programmer needs to know about its indirect needs. There is
no limit to the number or depth of directly and indirectly referenced libraries in a
loadList. Also, many libraries in the loadList can reference the same library, as
illustrated by the multiple clients of F and G. Each library appears once in the loadLIst
and in memory.
The TNS/R Library Facility
This subsection gives an overview of the library facility and some of the controls it
offers. Discussion of how to control the library-facility begins in Essential DLL Facility
Controls on page 2-1.
Libraries, DLLs, and Hybrid SRLs
Prior to the introduction of PIC programs and DLLs, TNS/R native programs and
libraries were non-PIC loadfiles called shared runtime libraries or SRLs. SRLs still
make up the conventional non-PIC libraries on a TNS/R system, but now, while non-
PIC loadfiles remain the default, both PIC and non-PIC loadfiles coexist on TNS/R
systems.
In applications built with PIC programs and DLLs, these loadfiles may access libraries
provided by the TNS/R system, which come in the form of hybrid SRLs. A hybrid SRL
is an ordinary SRL that is augmented so it can also function as a library for a PIC
program or DLL, just like another DLL. Like DLLs, hybrid SRL have libLists, and in the
same way you can tell the linker to link your PIC loadfile to a DLL, you can tell it to link
your PIC loadfile to an hybrid SRL. While a PIC program or DLL can refer to symbols in
an hybrid SRL, a hybrid SRL cannot refer to symbols in a PIC program or DLL.
Hybrid SRLs are components of TNS/R software, called public libraries. They
include:
•
TNS/R compiler run-time libraries.
•
Libraries that support connections to TNS/R communication facilities.
•
Certain TNS/R tools, utilities, and the loader library (rld).
TNS/R compilers generate needed linkages from PIC programs and DLLs to the
compilers’ run-time libraries. Users can create and load PIC programs and DLLs but
cannot load their own hybrid SRLs.
In Figure 1-2 on page 1-4, DLLs F and G might instead be hybrid SRLs, since they
refer to no PIC loadfiles. This is reflected in Figure 1-4 on page 1-8, where these
libraries are labeled simply Lib.