📄 assert.c
字号:
/*FUNCTION<<assert>>---macro for debugging diagnosticsINDEX assertANSI_SYNOPSIS #include <assert.h> void assert(int <[expression]>);DESCRIPTION Use this macro to embed debuggging diagnostic statements in your programs. The argument <[expression]> should be an expression which evaluates to true (nonzero) when your program is working as you intended. 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]>, function: <[func]> If the name of the current function is not known (for example, when using a C89 compiler that does not understand __func__), the function location is omitted. 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>>.*/#include <assert.h>#include <stdlib.h>#include <stdio.h>/* func can be NULL, in which case no function information is given. */void_DEFUN (__assert_func, (file, line, func, failedexpr), const char *file _AND int line _AND const char *func _AND const char *failedexpr){ fiprintf(stderr, "assertion \"%s\" failed: file \"%s\", line %d%s%s\n", failedexpr, file, line, func ? ", function: " : "", func ? func : ""); abort(); /* NOTREACHED */}void_DEFUN (__assert, (file, line, failedexpr), const char *file _AND int line _AND const char *failedexpr){ __assert_func (file, line, NULL, failedexpr); /* NOTREACHED */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -