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

compile-option
modifies compiler operation by specifying a compiler pragma or defining a preprocessor
symbol.
pragma
is any compiler pragma. If you want, you can abbreviate the pragma name. The rule is
that you must specify enough letters of the pragma name to make the name unique. For
example, you need at least RUNNAB for the RUNNABLE pragma, because otherwise it would
be confused with the RUNNAMED pragma.
define identifier [ integer-constant ]
defines identifier as a preprocessor symbol. If identifier is followed by an integer
constant, it is defined as an object-like macro that expands to the given value. define is
equivalent to using the #define preprocessor directive in source text.
undefine identifier
deletes identifier as a preprocessor symbol. Using undefine is equivalent to using the
#undef preprocessor directive in source text.
Usage Guidelines
The C compiler accesses source files as text-type logical files. Consequently, the source files
you specify in a module must represent physical file types that the compiler can access as
text-type logical files.
The C compiler accepts logical source lines of up to 509 characters.
The C compiler returns one of these completion codes:
The compilation completed successfully.0
The compilation completed with warnings (but no errors).1
The compilation completed with errors.2
The compiler terminated abnormally as the result of an internal error.3
Examples
1. This example directs the compiler to translate the source file ABSC (which contains an entire
C program), send the compiler listing to the device $S.#ABSL, and store the program file
under the name ABSO:
C /IN absc, OUT $s.#absl/ abso; RUNNABLE
2. This example disables the run-time diagnostics that the assert function can issue by defining
NDEBUG as a preprocessor symbol:
C /IN appc, OUT $s.#appl/ appo; define NDEBUG
3. This examples directs the compiler to generate a TNS program that runs in the
OSS environment:
C /IN filec / fileo; SYSTYPE OSS
Binding a C Module
You must use Binder to collect and combine the object files into a program file (an executable
object file) if:
You do not use the RUNNABLE pragma when compiling a single-module program.
Your program comprises several separately compiled modules.
To start Binder, enter the BIND command at the TACL prompt:
264 Compiling, Binding, and Accelerating TNS C Programs