Open System Services Programmer's Guide
For more information, see:
ManualTopic
The C/C++ Programmer’s Guide and the c89(1) utility reference page either online or in
the Open System Services Shell and Utilities Reference Manual
c89
The C/C++ Programmer’s Guide and the c99(1) utility reference page either online or in
the Open System Services Shell and Utilities Reference Manual
c99
The nld Manual and the nld(1) reference page either online or in the Open System Services
Shell and Utilities Reference Manual
nld
The ld Manual and the ld(1) reference page either online or in the Open System Services
Shell and Utilities Reference Manual
ld
The noft Manual and the noft(1) reference page either online or in the Open System
Services Shell and Utilities Reference Manual
noft
The eld Manual and the eld(1) reference page either online or in the Open System Services
Shell and Utilities Reference Manual
eld
The enoft Manual and the enoft(1) reference page either online or in the Open System
Services Shell and Utilities Reference Manual
enoft
Binder ManualBinder
Accelerator ManualAccelerator
Object Code Accelerator (OCA) ManualObject Code
Accelerator
Compiler Output - Two Object File Types
The TNS/R native environment supports two object file types: position-independent code (PIC)
object files and non-PIC object files. The TNS/E native environment supports only PIC object files.
PIC enables you to create dynamic-link libraries (DLLs) and to create programs that use DLLs. A DLL
is a type of library that can be loaded dynamically by an executing process.
To create a PIC linkfile, an option flag is required on the TNS/R c89 command. On TNS/E systems,
PIC is the only object file type supported, and no option flag is required on the TNS/E c89
command. You then use the ld utility (for a TNS/R target) or the eld utility (for a TNS/E target)
to link the PIC object file into a DLL or PIC program file. Refer to the ld Manual or the eld Manual
for more information about PIC files and the ld or eld utility.
PIC files are not supported in the TNS environment.
Compilation Considerations for TNS Programs
The ld, nld, eld, noft, and enoft utilities are not available to TNS programs.
The Accelerator program optimizes TNS programs for TNS/R systems. (Open System Services
does not support the TNS compilation tools on TNS/E systems.) You can include the -O flag on
the c89 command line with your first compilation, but this is not a good idea because the
optimization step is time-consuming, increases your compilation time, and loses some debugging
information. A better method is to compile and debug your program completely and then optimize
the executable program file.
Command Line Debuggers
Two command-line symbolic debuggers are provided in the OSS and Guardian environments:
Inspect and Native Inspect. The G-series Inspect debugger supports debugging of TNS and
non-position-independent code (non-PIC) TNS/R object files in the OSS and Guardian environments
on TNS/R systems. (To debug a PIC object file on a TNS/R system, you must use either Visual
Inspect or the low-level Debug facility.) The H-series Inspect debugger supports debugging of TNS
processes in the Guardian environment on TNS/E systems; it does not support debugging of TNS/E
Using the Development Tools 47