assert
---Macro for Debugging Diagnostics#include <assert.h> #include <stdlib.h> void assert(int expression);Description
When expression evaluates to false (zero), assert
calls abort
, after first printing a message showing what
failed and where:
Assertion failed: expression, file filename, line lineno
The macro is defined to permit you to turn off all uses of
assert
at compile time by defining NDEBUG
as a
preprocessor variable. If you do this, the assert
macro
expands to
(void(0))
Returns
assert
does not return a value.
Portability
The assert
macro is required by ANSI, as is the behavior
when NDEBUG
is defined.
Supporting OS subroutines required (only if enabled): close
, fstat
,
getpid
, isatty
, kill
, lseek
, read
, sbrk
, write
.