table of contents
assert(3) | Library Functions Manual | assert(3) |
NUME¶
assert - întrerupe programul dacă afirmația este falsă
BIBLIOTECA¶
Biblioteca C standard (libc, -lc)
SINOPSIS¶
#include <assert.h>
void assert(scalar expresie);
DESCRIERE¶
Această macrocomandă poate ajuta programatorii să găsească erori în programele lor sau să trateze cazuri excepționale prin intermediul unui accident care va produce rezultate limitate de depanare.
If expression is false (i.e., compares equal to zero), assert() prints an error message to standard error and terminates the program by calling abort(3). The error message includes the name of the file and function containing the assert() call, the source code line number of the call, and the text of the argument; something like
program: vreun_fișier.c:16: vreo_funcție: Aserțiunea `val == 0' a eșuat
Dacă macrocomanda NDEBUG este definită în momentul în care <assert.h> a fost inclus ultima dată, macrocomanda assert() nu generează niciun cod și, prin urmare, nu face nimic. Nu se recomandă definirea lui NDEBUG dacă se utilizează assert() pentru a detecta condițiile de eroare, deoarece software-ul se poate comporta în mod nedeterminist.
VALOAREA RETURNATö
Nu se returnează nicio valoare.
ATRIBUTE¶
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare |
assert() | Siguranța firelor | MT-Safe |
STANDARDE¶
C11, POSIX.1-2008.
ISTORIC¶
C89, C99, POSIX.1-2001.
În C89, expresie trebuie să fie de tipul int și dacă nu este de acest tip, rezultă un comportament nedefinit, dar în C99 poate avea orice tip scalar.
ERORI¶
assert() este implementat ca o macrocomandă; dacă expresia testată are efecte secundare, comportamentul programului va fi diferit în funcție de definirea sau nu a NDEBUG. Acest lucru poate crea erori software „Heisenbugs” care dispar atunci când depanarea este activată.
CONSULTAȚI ȘI¶
TRADUCERE¶
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
2 mai 2024 | Pagini de manual Linux (nepublicate) |