X_ASSERT
#define X_ASSERT(expr) \
do{\
if(!(expr)){\
fprintf(stderr, "Assertion failed: %s, file %s, line %d\n", #expr, __FILE__, __LINE__);\
abort();\
}\
}while(0)
#define X_ASSERT(expr) \
do{\
if(!(expr)){\
fprintf(stderr, "Assertion failed: %s, file %s, line %d\n", #expr, __FILE__, __LINE__);\
abort();\
}\
}while(0)