Jmenné prostory
Varianty

Předdefinované proměnné preprocesoru

Z cppreference.com


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.
close