Preprocesor jazyka C: Porovnání verzí

Přidáno 1 389 bajtů ,  před 6 lety
Doplnění Speciálních maker
(Doplnění Speciálních maker)
#undef <identifikátor>
</source>
 
=== Speciální makra a direktivy ===
Preprocesor jazyka C obsahuje speciální předdefinované [[Makro (software)|makra]], které můžou být použita aniž by byla někde definována. Mezi standardní předdefinovaná makra patří například <code>__FILE__</code> a <code>__LINE__</code>, které jsou preprocesorem rozepsána na aktuální název souboru a číslo řádku. Tyto makra najdou využití například ve výpisu chybových či vývojových zpráv:
fprintf (stderr, "Internal error: Zaporna delka retezce %d v souboru %s, na radku %d.", length, __FILE__, __LINE__);
S hodnotami maker <code>__FILE__</code> i <code>__LINE__</code> můžeme manipulovat pomocí direktivy <code>#line</code>. Direktiva <code>#line</code> určuje číslo řádku a název souboru následujícího řádku, před kterým je definována. Například:
#line 314 "soubor.c"
printf("radek=%d soubor=%s\n", __LINE__, __FILE__);
vygeneruje následující:
printf("radek=%d soubor=%s\n", 314, "soubor.c");
Mezi další standardní makra patří třeba také <code>__DATE__</code> pro aktuální datum a <code>__TIME__</code> pro aktuální čas.
 
Více informací o předdefinovaných makrech lze nalézt v [[Angličtina|anglickém jazyce]] například [https://gcc.gnu.org/onlinedocs/cpp/Predefined-Macros.html zde].
 
=== Ustálené zvyklosti ===
== Související články ==
* [[Preprocesor]]
* [[C (programovací jazyk)|C (Programovací jazyk)]]
* [[Makro (software)]]
 
[[Kategorie:Programovací jazyk C]]
34

editací