正如James McNellis所说,使用__FILE__和__LINE__宏.请注意,这些是宏,如果您只是在错误处理方法中使用它们,它们只会告诉您定义错误处理方法的位置.如果您不想在代码中传播它们,则需要在另一个宏中使用它们.像这样的东西:
void my_error_handler(const char* file, int line, const char* message) {
// ...
}
#define ERROR(MESSAGE) my_error_handler(__FILE__, __LINE__, MESSAGE)
Run Code Online (Sandbox Code Playgroud)
然后你可以在你的代码中使用它:
if (1 == 2) {
ERROR("Something went wrong.");
}
Run Code Online (Sandbox Code Playgroud)