Pregunta
Estoy escribiendo C89 en MSFT Visual Studio 2010 Beta. ¿Cómo puedo hacer una afirmación, similar a la palabra clave assert
de Java? Creo que necesito para definir una macro, pero no estoy seguro de cómo. (Parece que esto es algo que se ha hecho antes, así que prefiero usar que de tratar de rodar la mía.)
Esta es una suposición:
int assert(int truth_value) {
// crash the program with an appropriate error message
}
Solución
C89 tiene <assert.h>
, que contiene la macro que está buscando.
#include <assert.h>
assert(expression);
A partir de la documentación:
La aserción () pruebas de macro lo dado expresión y si es falso, el proceso se termina llamando. Un mensaje de diagnóstico se escribe en stderr y el aborto (3) función se llama, terminando de manera efectiva el programa.
Si expresión es cierto, la aserción () macro no hace nada.