__FILE__ is a predefined C macro that expands to a string literal naming the current source file, or translation unit. It is useful when debugging because diagnostic output can identify where it originated. section 17.3
Source location in diagnostic output
A tracing macro can incorporate __FILE__ into formatted debugging output so that each message carries its originating file name. The related __LINE__ macro supplies the line number, while __func__ supplies the current function name. section 17.3
Related predefined context constructs include:
- __LINE__ expands to an integer constant representing the actual source line. section 17.3
- __DATE__ and __TIME__ provide the compilation date and time as string literals. section 17.3
- __func__ provides the name of the current function through a local static variable. section 17.3

