Predefined macros

The preprocessor predefines 2 macros:

  1. __LINE__ expands to the current line number. Its definition changes with each new line of the code.
  2. __FILE__ expands to the name of the current file as a string constant. Ex: "subdir/file.inc"

These macros are often used to generate error messages.

An &include directive changes the values of __FILE__ and __LINE__ to correspond to the included file.