Provided by: manpages-pt-br-dev_4.27.0-1_all bug

NOME

       assert - aborta a execução do programa se a assertiva for falsa

BIBLIOTECA

       Biblioteca C Padrão (libc, -lc)

SINOPSE

       #include <assert.h>

       void assert(scalar expressão);

DESCRIÇÃO

       Essa  macro  pode  ajudar  os  programadores  a  encontrar  erros  em seus programas ou a lidar com casos
       excepcionais através de uma falha que produzirá uma saída de depuração limitada.

       Se expressão for falsa (isto é, compara igual a zero), assert() imprime uma mensagem de erro na saída  de
       erro  padrão  e  encerra  o  programa  chamando abort(3). A mensagem de erro inclui o nome do arquivo e a
       função que contém a chamada de assert(), o número da linha do  código-fonte  da  chamada  e  o  texto  do
       argumento; algo como:

           prog: algum_arquivo.c:16: algum_arquivo: Assertiva `val == 0' falhou.

       Se  a  macro  NDEBUG  for  definida  no  momento  em que <assert.h> foi incluído pela última vez, a macro
       assert() gera nenhum código e, portanto, não faz absolutamente nada. Não é recomendável definir NDEBUG se
       usar assert() para detectar  condições  de  erro,  pois  o  software  pode  se  comportar  de  forma  não
       determinística.

VALOR DE RETORNO

       Nenhum valor é retornado.

ATRIBUTOS

       Para uma explicação dos termos usados nesta seção, consulte attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │ InterfaceAtributoValor   │
       ├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │ assert()                                                                    │ Thread safety │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

PADRÕES

       C11, POSIX.1-2008.

HISTÓRICO

       C89, C99, POSIX.1-2001.

       Em  C89,  expressão precisa ser do tipo int e um resultado indefinido se ela não for, mas em C99 ela deve
       ser do tipo escalar.

BUGS

       assert() é implementada como uma macro. Se a expressão avaliada gerar erro, o comportamento  do  programa
       dependerá  de  se  NDEBUG  estiver  definida  ou não. Podem surgir "heisenbugs", que desaparecem quando a
       depuração estiver ativada.

VEJA TAMBÉM

       abort(3), assert_perror(3), exit(3)

TRADUÇÃO

       A  tradução  para  português  brasileiro  desta  página  man  foi   criada   por   Paulo   César   Mendes
       <drpc@ism.com.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.

       Esta  tradução  é  uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as
       condições de direitos autorais.  Nenhuma responsabilidade é aceita.

       Se você encontrar algum erro na tradução  desta  página  de  manual,  envie  um  e-mail  para  a lista de
       discussão de tradutores.

Linux man-pages 6.9.1                              2 maio 2024                                         assert(3)