assert(3) Library Functions Manual assert(3) NUME assert - intrerupe programul daca afirmaia este falsa BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include void assert(scalar expresie); DESCRIERE Aceasta macrocomanda poate ajuta programatorii sa gaseasca erori in programele lor sau sa trateze cazuri excepionale 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_fiier.c:16: vreo_funcie: Aseriunea `val == 0' a euat Daca macrocomanda NDEBUG este definita in momentul in care a fost inclus ultima data, macrocomanda assert() nu genereaza niciun cod i, prin urmare, nu face nimic. Nu se recomanda definirea lui NDEBUG daca se utilizeaza assert() pentru a detecta condiiile de eroare, deoarece software-ul se poate comporta in mod nedeterminist. VALOAREA RETURNATA Nu se returneaza nicio valoare. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |assert() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE C11, POSIX.1-2008. ISTORIC C89, C99, POSIX.1-2001. In C89, expresie trebuie sa fie de tipul int i daca nu este de acest tip, rezulta un comportament nedefinit, dar in C99 poate avea orice tip scalar. ERORI assert() este implementat ca o macrocomanda; daca expresia testata are efecte secundare, comportamentul programului va fi diferit in funcie de definirea sau nu a NDEBUG. Acest lucru poate crea erori software ,,Heisenbugs" care dispar atunci cand depanarea este activata. CONSULTAI I abort(3), assert_perror(3), exit(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 assert(3)