EasyManua.ls Logo

Texas Instruments TMS34010 - Page 168

Texas Instruments TMS34010
181 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Conditional
Processing
Directives
#if
/#ifdef
/#ifndef
/#else/#end
if
Syntax
#if
constant-expression
code to compile
if
condition
is true
[#else
code to compile
if
condition
is false]
#endif
#ifdef
name
code to compile
if
name is defined
[#else
code to compile
if
name is
not
defined]
#endif
#ifndef
name
code to compile
if
name is
not
defined
[#else
code to compile
if
name is defined]
#endif
Description
The C preprocessor supports several conditional processing directives:
Three directives can begin a conditional block:
The
#if
directive tests
an
expression. The code
following
an
#if
directive
(up
to
an
#else or
an
#endif)
is
compiled if the
con-
stant-expression evaluates
to
a nonzero value. All binary
non-
assignment C operators, the
7:
operator, the unary
-,
I,
and %
operators are legal in constant-expression. The precedence
of
the operators
is
the same
as
in the definition
of
the C language.
The preprocessor also supports a unary operator named
de-
fined,
which
can be used in constant-expression in one
of
two
forms:
1)
defined«name»
or
2)
def
ined
<name>
This
allows the the
utility
of
#ifdef
and
#ifndef
in
an
#if
directive.
Only these operators, integer constants, and names
which
are
known
by the preprocessor should
be
used in constant-
expression.
In particular, the sizeof operator should
not
be used.
The
#ifdef
directive tests
to
see
if
name
is
a defined constant.
The code
following
an
#ifdef
directive
(up
to
an
#else or
an
#endif)
is
compiled
if
name
is
defined
(by
the #define directive)
and
it
has
not
been undefined
by
the
#undef
directive.
The
#ifndef
directive tests
to
see
if
name
is
not
a defined
con-
stant. The code
following
an
#ifndef
directive
(up
to
an
#else:
or
an
#endif)
is
compiled
if
name
is
not
defined
(by
the #define
directive) or
if it
was undefined
by
the
#undef
directive.
8-3

Table of Contents

Other manuals for Texas Instruments TMS34010

Related product manuals