вставить диагностику программы (insert program diagnostics)
Пролог (Prolog)
This manual page is part of the POSIX Programmer's Manual. The
Linux implementation of this interface may differ (consult the
corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
Имя (Name)
assert — insert program diagnostics
Синопсис (Synopsis)
#include <assert.h>
void assert(scalar expression);
Описание (Description)
The functionality described on this reference page is aligned
with the ISO C standard. Any conflict between the requirements
described here and the ISO C standard is unintentional. This
volume of POSIX.1‐2017 defers to the ISO C standard.
The assert() macro shall insert diagnostics into programs; it
shall expand to a void
expression. When it is executed, if
expression (which shall have a scalar
type) is false (that is,
compares equal to 0), assert() shall write information about the
particular call that failed on stderr and shall call abort().
The information written about the call that failed shall include
the text of the argument, the name of the source file, the source
file line number, and the name of the enclosing function; the
latter are, respectively, the values of the preprocessing macros
__FILE__ and __LINE__ and of the identifier __func__.
Forcing a definition of the name NDEBUG, either from the compiler
command line or with the preprocessor control statement #define
NDEBUG ahead of the #include
<assert.h> statement, shall stop
assertions from being compiled into the program.
Возвращаемое значение (Return value)
The assert() macro shall not return a value.
Ошибки (Error)
No errors are defined.
The following sections are informative.
Примеры (Examples)
None.
Использование в приложениях (Application usage)
None.
Обоснование (Rationale)
None.
Будущие направления (Future directions)
None.
Смотри также (See also)
abort(3p), stdin(3p)
The Base Definitions volume of POSIX.1‐2017, assert.h(0p)