1. __FILE__
- 当前文件名
作用:展开为当前源文件的绝对路径或相对路径字符串
类型:字符串常量(const char[]
)
典型用途:错误报告、调试日志
printf("Current file: %s\n", __FILE__);
// 输出示例: Current file: /project/src/main.cpp
注意:
- 路径格式取决于编译器(可能是绝对路径或相对路径)
- C++17起可用
__FILE_NAME__
仅获取文件名部分(非标准但Clang/GCC支持)
2. __LINE__
- 当前行号
作用:展开为当前代码行的十进制整数
类型:整型常量
典型用途:错误定位、断言宏
cout << "Error at line " << __LINE__ << endl;
// 输出示例: Error at line 42
特殊用法:
#define LOG(msg) \
cout << __FILE__ << ":" << __LINE__ << " - "