Assert.h | это... Что такое Assert.h? (original) (raw)

Assert.h

assert.h

assert.hзаголовочный файл стандартной библиотеки языка программирования С, в котором объявляется макрос препроцессора языка С assert(). Данный макрос реализует исключение, которое может использоваться для проверки сделанных программой вычислений.

Макрос assert() добавляет к программе процедуру диагностики. После выполнения, если выражение ложно (то есть, результат сравнения 0), assert() пишет информацию о вызове в поток stderr и вызывает функцию abort(). Информация, которая пишется в stderr включает в себя:

Использование

Для того, чтобы отключить проверку, не обязательно исключать её из кода или комментировать объявление макроса, достаточно лишь объявить ещё один макрос — NDEBUG в программе перед #include <assert.h>, тогда объявление макроса assert() будет иметь следующий вид:

#define assert(ignore)((void) 0)

и поэтому никак не будет влиять на работу программы.

Макрос assert() реализован в виде макроса, а не функции. Если макрос assert используется для возможности вызывать саму функцию assert, то верное функционирование кода не гарантируется.

Пример использования

#include <stdio.h> #include <assert.h>

int main () { FILE *fd;

fd = fopen ("/home/user/file.txt", "r");
assert (fd);
fclose (fd);

return 0;

}

В данном примере макрос assert() сработает в случае, если функция fopen() выполнится с ошибкой.

Ссылки

Wikimedia Foundation.2010.

Полезное

Смотреть что такое "Assert.h" в других словарях: