Předdefinované proměnné preprocesoru
Z cppreference.com
< cpp | preprocessor
Syntaxe:
__LINE__ __FILE__ __DATE__ __TIME__ __cplusplus __STDC__
Následující proměnné se mohou lišit v závisloti na použitém compileru, ale obecně platí:
- Proměnné %%__LINE__%% a %%__FILE__%% reprezentují aktuální řádek a aktuální soubor, který preprocesor zpracovává.
- Proměnná %%__DATE__%% obsahuje datum ve formátu měsíc/den/rok. Datum se vztahuje k době, kdy byl soubor přeložen, tedy ne nutně aktuální kalendářní den.
- Proměnná %%__TIME__%% reprezentuje aktuální čas ve formátu hodina:minuta:vteřina. Odpovídá době, kdy byl soubor přeložen, tedy ne nutně současnému času.
- Proměnná %%__cplusplus%% je definována pouze při překladu jazyka C++. V některých starších překladačích může být místo ní definováno také jako c_plusplus.
- Proměnná %%__STDC__%% je definovaná při překlad jazyka C, může být definována i při překladu jazyka C++.
[editovat]Specifické proměnné kompileru GCC
Následují specifické proměnné kompileru GCC. Nejsou nutně makra preprocesoru, jsou podobné magic a mohou být používany stejným způsobem:
- %%__func__%% obsahuje jméno funkce bez parametrů a návatové hodnoty.
- %%__FUNCTION__%% je alias pro %%__func__%%
- %%__PRETTY_FUNCTION__%% obsahuje jméno funkce i s informacemi o parametrech a typech.