Ir al contenido

assert.h

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 23:17 16 abr 2020 por Semibot (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

assert.h es un archivo de cabecera de la biblioteca estándar del Lenguaje de programación C, en el que se define la macro de depuración assert (aserción, en español), que implementa una aserción (test), usada para comprobar suposiciones en el programa:

#define assert ( test )

Esta macro se expande como un bloque "if", en el que se comprueba la condición 'test' y, dependiendo de si es o no verdadera, puede abortar el programa.

Si 'test' se evalúa como cero(es decir, si es falsa) entonces se aborta el programa mediante la función abort () y se imprime un mensaje en stderr en el que se incluyen la condición 'test', el nombre del archivo fuente y el número de línea en la que se llamó a assert() mediante las macros estándar predefinidas __FILE__ y __LINE__, respectivamente), adicionalmente a partir de la versión C99 se incluye el nombre de la función que se estaba ejecutando (mediante la macro __func__).

Si se coloca la directiva #define NDEBUG (no depurar) en el archivo fuente antes de incluir assert.h, entonces la macro se definirá como:

#define assert(ignore)((void) 0)

Lo que provoca que ésta no tenga ningún efecto en el programa. Algunos compiladores simplemente convierten todas las aserciones en comentarios.

Ejemplo de sintaxis:

void assert(int test);

Véase también