H-Series Application Migration Guide (H06.03+)

TNS/E Native Architecture Features
H-Series Application Migration Guide429855-006
3-6
Dynamic-Link Libraries (DLLs)
contrast, are constructed of non-PIC and are bound to fixed virtual addresses for
execution. They cannot have their addresses modified at load time.
An important attribute of DLLs is that they can be dynamically loaded; that is, a running
program can load a DLL and gain access to its symbols. This capability means that
you do not need to load infrequently used DLLs when the application is loaded.
Instead, you can load and use these DLLs when required during execution and unload
them when they are no longer needed.
Like other types of libraries, DLLs provide functions and data needed by a program or
other DLLs. A DLL might be any of the following:
A library that supports a single program
A library that is available to a project or a group with common computational needs
A library that is available to all users
PIC and DLLs were introduced in the G06.20 RVU. Non-PIC and SRLs continue to be
supported in the G06.2x RVUs. On H-series systems, all native code is PIC and all
native libraries are DLLs. Non-PIC and SRLs are not supported. DLLs on H-series
systems include:
The system library, which is packaged as a set of implicit DLLs
Other libraries supplied by HP, such as compiler run-time libraries
All user-created libraries.
The TNS/E native compilers generate PIC, the TNS/E linker eld creates either PIC
programs or DLLs, and the loader and operating system link and load the results.
Table 3-3 on page 3-7 summarizes the differences between TNS/R and TNS/E
libraries.