Linux repositories inspector
GNU

manpages-es

Spanish man pages

man-pages-es

Spanish man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

allegro-devel

A game programming library

liballeg-devel

A game programming library

liballeg44-devel

A game programming library

NOMBRE

assert - aborta el programa si la expresión es falsa.

SINOPSIS

#include <assert.h>

void assert (int expression);

DESCRIPCIÓN

Si la macro NDEBUG estaba definida en el momento en que <assert.h> fue incluido por última vez, la macro assert() no genera ningún código, y por tanto no hace nada. En caso contrario, la macro assert() imprime un mensaje de error a la salida estándar y termina el programa llamando a abort() si expression es falsa (es decir, es igual a cero). Esto sólo sucede cuando la macro NDEBUG está sin definir.
El propósito de esta macro es ayudar al programador a encontrar fallos en su programa. El mensaje "aserto fallido en el fichero foo.c, función do_bar(), línea 1287" no es de ayuda en absoluto para un usuario.

VALOR DEVUELTO

No se devuelve ningún valor.

CONFORME A

ISO 9899 (ANSI C). En el estándar de 1990, expression debe ser de tipo int , teniendo un comportamiento indefinido si no es así, pero en el estándar de 1999 puede tener cualquier tipo escalar.

FALLOS

assert() es implementada como un macro; si la expresión comprobada tiene efectos laterales, el comportamiento del programa puede ser diferente dependiendo de si NDEBUG está definida o no. Esto puede crear fallos indeterminados (Heisenbugs) que no se dan cuando la depuración está activada.
⇧ Top