#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) 的更好方案

#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
#ifndef __FILENAME__ 
#ifdef __cplusplus
extern "C" char *strrchr(const char *str, int c);
#else//__cplusplus
char *strrchr(const char *str, int c);
#endif//__cplusplus
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
#endif//__FILENAME__