assert.h

Biblioteca padrão do C
  • assert.h
  • complex.h
  • ctype.h
  • errno.h
  • fenv.h
  • float.h
  • inttypes.h
  • iso646.h
  • limits.h
  • locale.h
  • math.h
  • setjmp.h
  • signal.h
  • stdarg.h
  • stdbool.h
  • stddef.h
  • stdint.h
  • stdio.h
  • stdlib.h
  • string.h
  • tgmath.h
  • time.h
  • wchar.h
  • wctype.h

assert.h é um cabeçalho da biblioteca padrão do C. Este cabeçalho traz a definição da macro assert() que implementa uma asserção, utilizada para verificar suposições feitas pelo programa. Sempre que a expressão passada como argumento é falsa (igual a zero) então a macro escreve uma mensagem na saída padrão de erro e termina o programa chamando abort()[1].

Através da macro é possível diagnosticar problemas através da informação impressa pela macro[1] que contém o nome do arquivo fonte, a linha do arquivo contendo a chamada para a macro, o nome da função que contém a chamada e o texto da expressão que foi avaliada.

Tal mecanismo pode ser desabilitado sem realizar mudanças no código-fonte. Com a definição da macro NDEBUG, assert() não gera código útil e passa a não ter efeito[1][2].

Referências

  1. a b c «assert(3) - Linux man page» (em inglês). Linux Documentation. Consultado em 7 de abril de 2010 
  2. «Assert - C++ Reference» (em inglês). cplusplus.com. Consultado em 7 de abril de 2010 

Ligações externas