预定义符号的值或者是字符串常量,或者是十进制数字常量。
符号 | 含义 |
---|---|
__FILE__ | 进行编译的源文件名 |
__LINE__ | 文件当前行号 |
__DATE__ | 文件被编译的日期 |
__TIME__ | 文件被编译的时间 |
__STDC__ | 如果编译器遵循ANSI C,其值为1,否则未定义 |
__func__ | 是 C99 引入的新标识符,用来报告未被修饰的正在被访问的函数名 |
__FUNCTION__ | __FUNCTION__作为代替,通常它是定义为__func__的宏 |
__FUNC__ | 与__FUNCTION__相同 |
__func__ :
并不是宏定义,事实上它是以隐式声明的常量字符数组的形式实现的,其定义是:
static const char __func__[] = "function-name";
使用__FLIE__、__LINE__在程序调试输出时使用很方便;__DATE__、__TIME__可以用于编译的程序加入版本信息。
#define LOG_info(format, ...) do{\
printf( "[%s Line:%d] INFO: "format"\r\n", __FILE__, __LINE__, ##__VA_ARGS__);\
}while(0)
##__VA_ARGS__ 可变参数宏
参考链接1、__FUNCTION__ 与 __FUNC__ 浅析
2、《C和指针》
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧