The
assert ();
macro tests the given
expression
and if it is false,
the calling process is terminated.
A
diagnostic message is written to
stderr
and the function
abort(3)
is called, effectively terminating the program.
If
expression
is true,
the
assert ();
macro does nothing.
The
assert ();
macro
may be removed at compile time by defining
NDEBUG
as a macro
(e.g., by using the
cc(1)
option
-D NDEBUG
EXAMPLES
The assertion:
"assert(1 == 0);"
generates a diagnostic message similar to the following:
"Assertion failed: (1 == 0), function main, file assertion.c, line 100."