ISO/ANSI Standard Predefined Macro Names

Macro Name Description
__cplusplus For C++ programs, this macro is set to the integer 1, indicating that the compiler is a C++ compiler. Note that this macro name has no trailing underscores.
__FILE__ A character string literal containing the name of the source file. The value of __FILE__ changes as the compiler processes include files that are part of your source program. It can be set with the #line directive.
__DATE__ A character string literal containing the date when the source file was compiled. The value of __DATE__ changes as the compiler processes any include files that are part of your source program. The date is in the form:
	"Mmm dd yyyy"

where:

  • Mmm - represents the month in an abbreviated form (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, or Dec).
  • dd - represents the day. If the day is less than 10, the first d is a blank character.
  • yyyy - represents the year.

The date is always set to the system date.

__LINE__ An integer representing the current source line number. The value of __LINE__ changes during compilation as the compiler processes subsequent lines of your source program. It can be set with the #line directive.
__STDC__ For C programs, the compiler sets this macro to the integer 1 (one) to indicate that the C compiler conforms to the ISO/ANSI standard. For C++ programs, this macro is set to the integer 0, indicating that the C++ language is not a proper superset of C, and that the compiler does not conform to ISO/ANSI C.
__TIME__ A character string literal containing the time when the source file was compiled. The value of __TIME__ changes as the compiler processes any include files that are part of your source program. The time is in the form:
	"hh:mm:ss"

where:

  • hh - represents the hour.
  • mm - represents the minutes.
  • ss - represents the seconds.

The time is always set to the system time.

__TIMESTAMP__ A character string literal containing the date and time when the source file was last modified. The value of __TIMESTAMP__ changes as the compiler processes any include files that are part of your source program. The date and time are in the form:
"Day Mmm dd hh:mm:ss yyyy"

where:

  • Day - represents the day of the week (Mon, Tue, Wed, Thu, Fri, Sat, or Sun).
  • Mmm - represents the month in an abbreviated form (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, or Dec).
  • dd - represents the day. If the day is less than 10, the first d is a blank character.
  • hh - represents the hour. mm represents the minutes.
  • ss - represents the seconds.
  • yyyy - represents the year.

The date and time are always set to the system date and time.