<assert.h>
#undef assert
#if defined NDEBUG
#define assert(test) (void)0
#else
#define assert(test)
<void expression>
#endif
Include the standard header <assert.h>
to define the macro
assert
,
which is useful for diagnosing logic errors in
the program. You can eliminate the testing code produced by the macro
assert
without removing the macro references from the program
by defining the macro
NDEBUG
in the program before you include
<assert.h>
. Each time the program includes this header,
it redetermines the definition of the macro assert
.
assert
#undef assert
#if defined NDEBUG
#define assert(test) (void)0
#else
#define assert(test) <void expression>
#endif
If the int expression test
equals zero,
the macro writes to
stderr
a diagnostic message that includes:
test
__FILE__
)
__LINE__
)
It then calls
abort
.
You can write the macro assert
in the program in any
side-effects context.
See also the Table of Contents and the Index.
Copyright © 1989-1996 by P.J. Plauger and Jim Brodie. All rights reserved.