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() выполнится с ошибкой

.

Ссылки

Look at other dictionaries:

  • Assert — As*sert , v. t. [imp. & p. p. {Asserted}; p. pr. & vb. n. {Asserting}.] [L. assertus, p. p. of asserere to join or fasten to one s self, claim, maintain; ad + serere to join or bind together. See {Series}.] 1. To affirm; to declare with assurance …   The Collaborative International Dictionary of English

  • Assert.h — is a header file in the standard library of the C programming language that defines the C preprocessor macro assert(). The macro implements an assertion, which can be used to verify assumptions made by the program.The assert() macro inserts… …   Wikipedia

  • Assert.h — Saltar a navegación, búsqueda assert.h es un archivo de cabecera de la biblioteca estándar del Lenguaje de programación C, en el que se define la macro de depuración assert (aserción, en inglés), que implemeta una aserción (test), usada para… …   Wikipedia Español

  • assert — 1 Assert, declare, profess, affirm, aver, protest, avouch, avow, predicate, warrant agree in meaning to state positively usually either in anticipation of denial or objection or in the face of it. Assert implies absence of proof: it usually… …   New Dictionary of Synonyms

  • assert.h — <assert.h> est un en tête présent dans la bibliothèque standard du langage C qui définit la macro assert. La macro met en œuvre une assertion, qui peut être utilisée pour vérifier les hypothèses formulées par le programme. La macro assert… …   Wikipédia en Français

  • assert — [ə sʉrt′] vt. [< L assertus, pp. of asserere, to join to, claim < ad , to + serere, join: see SERIES] 1. to state positively; declare; affirm 2. to maintain or defend (rights, claims, etc.) assert oneself to insist on one s rights, or on… …   English World dictionary

  • assert — as·sert /ə sərt/ vt: to present and demand recognition of assert a claim as·ser·tion /ə sər shən/ n Merriam Webster’s Dictionary of Law. Merriam Webster. 1996 …   Law dictionary

  • assert — c.1600, declare, from L. assertus, pp. of asserere claim, maintain, affirm (see ASSERTION (Cf. assertion)). Related: Asserted; asserting. To assert oneself stand up for one s rights is recorded from 1879 …   Etymology dictionary

  • assert — ► VERB 1) state (a fact or belief) confidently and forcefully. 2) cause others to recognize (something) by confident and forceful behaviour. 3) (assert oneself) be confident and forceful. ORIGIN Latin asserere claim, affirm …   English terms dictionary

  • assert — [v] insist, declare, maintain advance, affirm, allege, argue, asservate, attest, aver, avouch, avow, butt in*, cite, claim, contend, defend, horn in, justify, mouth off*, pop off*, predicate, press, proclaim, profess, pronounce, protest, put… …   New thesaurus