Installation guide

the compiler operates in by using one of the following command-line
options:
Option Description
std0
Invokes a mode that compiles C applications as defined by Kernighan
and Ritchie (K&R), with some ANSI extensions such as function
prototypes. This mode is the default mode.
std
Invokes a mode that compiles applications according to the ANSI
standard. The mode allows certain extensions to the ANSI standard,
such as C++ style comments and casting of the left-hand side of an
assignment operator.
std1
Invokes a mode that compiles applications in strict accordance with
the ANSI standard.
For information about using these options to compile ULTRIX programs on
DIGITAL UNIX systems, see Section 7.4.
Many applications written for the ULTRIX programming environment will
compile with no changes. However, there are certain behaviors that are
present in the ULTRIX system that are not in the default DIGITAL UNIX
system. Most of these behaviors will not be caught at compile time but will
instead cause an application to fail when it is run.
The DIGITAL UNIX system is written using a hierarchy of interfaces and
definitions. Using the default interface, D_OSF_SOURCE, applications will
be able to make use of all the features specified by the OSF Application
Environment Specification (AES). If other specific operating system
environments are needed, you can use the following symbols:
-D_OSF_SOURCE
-D_AES_SOURCE
-D_XOPEN_SOURCE
-D_POSIX_SOURCE (for maximum portability of your application)
-D_ANSI_C_SOURCE
-D_BSD
For example, applications needing a fully POSIX-conforming environment
should be compiled with the -D_POSIX_SOURCE compiler switch.
Applications needing a strict ANSI-conforming environment should be
compiled with the -D_ANSI_SOURCE and -stdl compiler switches.
Overview of the DIGITAL UNIX Programming Environment 6–7