A list of C's predefined macros (__FILE__, __LINE__, __STDC__...) with description and an example of how to use them.
__FILE__ – a string that holds the path/name of the compiled file;
__LINE__ – an integer that holds the number of the current line number;
__DATE__ – a string that holds the current system date;
__TIME__ – a string that holds the current system time;
__STDC__ – defined as the value ‘1’ if the compiler conforms with the ANSI C standard;
__cplusplus – determines if your compiler is in C or C++ mode. Usually used in headers.
#include <stdio.h>
void main(void)
{
printf(“The path/name of this file is %s\n”, __FILE__);
printf(“The current line is %d\n”, __LINE__);
printf(“The current system date is %s\n”, __DATE__);
printf(“The current system time is %s\n”, __TIME__);
#ifdef __STDC__
printf(“The compiler conforms with the ANSI C standard\n”);
#else
printf(“The compiler doesn’t conform with the ANSI C standard\n”);
#endif
#ifdef __cplusplus
printf(“The compiler is working with C++\n”);
#else
printf(“The compiler is working with C\n”);
#endif
}