Predefined preprocessor variables [C++ Reference]
Keywords: preprocessor,preprocessor_vars
Date: 2009-01-08T11:25:50-0800

[[Predefined preprocessor variables]]
C++ Reference
Translations of this page?:

- en
- br-pt
- cn
- fr
- it
- jp
- pl
- ru
- tr

## Predefined preprocessor variables

Syntax:

        __LINE__
        __FILE__
        __DATE__
        __TIME__
        __cplusplus
        __STDC__

The following variables can vary by compiler, but generally work:

- The `__LINE__` and `__FILE__` variables represent the current line and current file being processed.
- The `__DATE__` variable contains the current date, in the form month/day/year. This is the date that the file was compiled, not necessarily the current date.
- The `__TIME__` variable represents the current time, in the form hour:minute:second. This is the time that the file was compiled, not necessarily the current time.
- The `__cplusplus` variable is only defined when compiling a C++ program. In some older compilers, this is also called `c_plusplus`.
- The `__STDC__` variable is defined when compiling a C program, and may also be defined when compiling C++.

### GCC-specific variables

The following are GCC-specific variables. While they are not specifically preprocessor macros they are magic and can be used the same way:

- `__func__` contains the bare name of the function
- `__FUNCTION__` is another name for `__func__`
- The `__PRETTY_FUNCTION__` contains the type signature of the function as well as its bare name.

Edit this page • Old revisions
• • • Login • Index • Recent changes • RSS • cc •