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-12
User Library
The starting virtual addresses of the program text (code) and data segments are
system constants, set by the linker and enforced by the operating system. The linker
also sets "preferred" virtual addresses for the text and data of DLLs, either by default
or from command-string input. (DLL data immediately follows the text.) If the preferred
address ranges are available at load time (do not conflict with already loaded objects
or reserved areas), they are used; otherwise the operating system finds an available
address range for the DLL.
Like any other DLL, a user library can require other libraries. Figure 1-5 below shows a
user library assigned to program, and this user library itself requires the library Lib H.
Program directly references User Lib and hence indirectly references H. A user library
for PIC programs cannot be an SRL or a hybrid SRL.
You can assign a DLL as a user library to a program when you link or load that
program, or by a special linker command that allows you to change this assignment in
an existing program. More detail is provided in How to Set Run-Time Attributes of Your
Loadfile on page 5-5.
A user library can also be specified at run time:
•
In Guardian, the run-option lib can specify the fully-qualified name of the UL:
/lib $vol.subvol.name/
Alternatively, the option with no name, /lib/, causes any libname attribute in the
program file to be ignored.
Figure 1-5. Loadfiles of Figure 1-4 with a User Lib and Its Library Added
Program
DLL A
DLL B
DLL C
DLL D
DLL E
Lib G
Lib F
Lib A
Lib B
Lib C
Lib F
Lib D
Lib E
Lib F
Lib G
Lib G
Code
and
Data
libList
VST015.vsd
User Library
(DLL)
Lib H
Lib H