Provided by: manpages-pt-br-dev_4.15.0-9_all bug

NOME

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

SINOPSE

       #include <assert.h>

       void assert(scalar expression);

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 expresion 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 │
       └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘

DE ACORDO COM

       POSIX.1-2001, POSIX.1-2008, C89, C99. Em C89, expression precisa ser  do  tipo  int  e  um
       resultado  indefinido  se  ela  não  for, mas na padronização de 1999 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)

COLOFÃO

       Esta página faz parte da versão 5.13 do projeto Linux man-pages. Uma descrição do projeto,
       informações  sobre  relatórios  de  bugs  e  a  versão mais recente desta página podem ser
       encontradas em https://www.kernel.org/doc/man-pages/.

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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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 ⟨debian-l10n-portuguese@lists.debian.org⟩.