Pergunta

Estou escrevendo C89 no MSFT Visual Studio 2010 beta. Como posso fazer uma afirmação, semelhante à de Java assert palavra -chave? Eu acho que preciso definir uma macro, mas não tenho certeza de como. (Parece que isso é algo que já foi feito antes, então prefiro usar isso do que tentar rolar o meu.)

Aqui está um palpite:

int assert(int truth_value) {
   // crash the program with an appropriate error message   
}
Foi útil?

Solução

C89 tem <assert.h>, que contém a macro que você está procurando.

#include <assert.h>
assert(expression);

Da documentação:

o afirmar() Macro testa o dado expressão e se for falso, o processo de chamada será encerrado. Uma mensagem de diagnóstico é escrita para stderre a função de aborto (3) é chamada, encerrando efetivamente o programa.

Se expressão é verdade, o afirmar() A macro não faz nada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top