//检测返回值
#define RETURN_IF_FAILED(b) do{ \
if( !(b) ) \
{ \
return false; \
} \
}while(0);
//demo
bool add(object *obj)
{
RETURN_IF_FAILED(obj);
//todo something
return true;
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------
//生成调试信息
#define ERROR_LINE(RESPONSE) #if RESPONSE printf ("Error****Line : %d File: %s\n",__LINE__,__FILE__); #endif
//demo
#include <stdio.h>
#define ERROR_LINE(RESPONSE) if (RESPONSE) printf ("Error****Line : %d File: %s\n",__LINE__,__FILE__);
int ifSuccess()
{
//plant your code here return 1;
}
int main ()
{
int r = ifSuccess();
ERROR_LINE(r);
return 0;
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------
// ##的用法,生成函数
#define FUN(Type) Type MyFun##Type(Type f,Type g){printf ("I am fun\n");}
#include <stdio.h>
#define FUN(Type) Type MyFun##Type(Type f,Type g){printf ("I am fun\n");}
FUN(int);
int main ()
{
MyFunint(1,2);
return 0;
}