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   
}
¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top