C/C++ Programmer's Guide (G06.27+, H06.03+)

Table Of Contents
Compiler Pragmas
HP C/C++ Programmer’s Guide for NonStop Systems429301-010
13-42
HIGHPIN
The pragma default settings are:
Usage Guidelines
For the TNS C compiler, Cfront, and the TNS c89 utility, the HIGHPIN pragma can
be placed in the source text or in the RUN command that executes the compiler.
When you bind several object files together, Binder sets the HIGHPIN attribute in
the target object file if, and only if, all the object files being bound together have the
HIGHPIN pragma specified.
For the native C and C++ compilers, the HIGHPIN pragma can be entered on the
compiler RUN command line (not in the source file) or be specified with the
-Whighpin flag of the c89 utility.
The HIGHPIN attribute is set for native C and C++ programs only if an executable
object file is the output of the compilation. (Process attributes cannot be set for
native relinkable object files.)
When the operating system creates a process, it assigns a process identification
number (PIN) to the process. Systems running D-series RVUs or later support
these ranges of PINs:
To run an object file at high PIN from the TACL prompt, these conditions must be
met:
°
Your processor is configured for more than 256 process control blocks (PCBs).
°
High PINs are available in your processor.
°
Your object file has the HIGHPIN attribute set.
°
The TACL HIGHPIN built-in variable or the HIGHPIN run-time parameter is set.
If these four conditions are met, the operating system assigns a high PIN, if
available. If no high PINs are available, the operating system assigns a low PIN.
You can set the HIGHPIN flag of TNS and accelerated object files either:
°
During compilation by using the HIGHPIN pragma
°
After compilation using a Binder command
SYSTYPE
GUARDIAN SYSTYPE OSS
TNS C compiler Not set Not set
G-series TNS c89 utility HIGHPIN HIGHPIN
TNS/R native C and C++ compilers HIGHPIN HIGHPIN
Native c89 utility HIGHPIN HIGHPIN
TNS/E native C and C++ compilers HIGHPIN HIGHPIN
Low-PIN range 0 through 254
High-PIN range 256 through the maximum number supported for the
processor