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

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).
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Atributo │ Valor │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ 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)