#define NDEBUG #include <assert.h> assert(expression); assertval(expression);
These macros are used to assist in debugging. The source code includes references to assert and assertval, passing them expressions that should be true (or non-zero). When the expression equals zero, a diagnostic message is printed to stderr and the program aborts.
If you define the macro NDEBUG
before including `assert.h',
then the macros expand to nothing to reduce code size after debugging is
done.
assert
returns one if it passes, else it aborts.
assertval
returns the value of the expression if nonzero, else it
aborts.
ANSI, POSIX
int strdup(char *s) { assert(s != 0);
Go to the first, previous, next, last section, table of contents.