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
}
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