#include <stdio.h>
#include <string.h>
#define ASSERT(expression, message) \
{ \
if (expression) { \
} else { \
assertion_failure(#expression, message, __FILE__, __LINE__); \
} \
}
void assertion_failure(const char* expression, const char* message, const char* file, int line) {
printf("Assertion Failure: %s, message: '%s', in file: %s, line: %d\n", expression, message, file, line);
}
int main(void)
{
ASSERT(1 == 0, "Your message");
return 0;
}
/*
run:
Assertion Failure: 1 == 0, message: 'Your message', in file: main.c, line: 18
*/