DLL Programmer's Guide for TNS/R Systems

DLLs on a TNS/R System
DLL Programmer’s Guide for TNS/R Systems522203-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 As 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.