#ifdef DEBUG_ON
#define DEBUG(format, args...) \ //args...是宏里面特定的不定参数
fprintf(stderr, "[%s]-[%s]-[%d]:" format, __FILE__, __FUNCTION__, __LINE__, ##args) //##是连接符,就是把不定参数连接过来
#else
#define DEBUG(format, args...)
#endif
#define OFFSETOF(TYPE, MEMBER) \
(int)&(((TYPE *)0)->MEMBER)
#define CONTAINER_OF(TYPE, PTR, MEMBER) \
(typeof(((TYPE *)(0))->MEMBER)) * mptr = PTR; \
(TYPE *)((unsigned char *)mptr - OFFSETOF(TYPE, MEMBER))
自己写的DEBUG、OFFSET_OF、CONTAINER_OF宏
最新推荐文章于 2024-01-13 16:47:51 发布