Makro C++ __FILE__

Makro C File



Makrá sú nejaký kus kódu v nejakom skripte s určitým špecifickým názvom. Keď sa vykoná niektoré z makier, vykoná sa kód za nimi na vykonanie určitej úlohy. __FILE__ je makro používané v jazyku C++ na získanie cesty ku konkrétnemu súboru. Takže dnes v tejto príručke budeme diskutovať o fungovaní makra C++ __FILE__.

Príklad 01:

Vezmime si prvý príklad makra __FILE__ v C++ spustením aplikácie terminálovej konzoly. Možno na to použijete skratku „Ctrl+Alt+T“. Ďalším spôsobom, ako otvoriť shell, je použiť oblasť ponuky Aktivita, ak ste zabudli klávesovú skratku. Po spustení terminálovej konzoly na vašej obrazovke skúste vytvoriť nový súbor c++, aby ste v ňom urobili kód. Súbor je možné vytvoriť jednoduchým „dotykovým“ dotazom, ako je znázornené na priloženom obrázku nižšie. Názov novovytvoreného súboru musí byť uvedený s kľúčovým slovom „touch“.







Vo vašom systéme Ubuntu 20.04 Linux musí byť nainštalovaný nejaký editor, aby ste ho mohli použiť na kódovanie a otváranie novovytvorených súborov. Najodporúčanejšie editory všeobecne známe medzi používateľmi Linuxu sú editory GNU Nano a Vim. Okrem toho je možné textový editor použiť aj v prípade, že oba vyššie uvedené editory nefungujú. Takže sme už nainštalovali editor GNU Nano. Preto ho použijeme na otvorenie a úpravu súboru na vytvorenie kódu. Aby editor fungoval, použite kľúčové slovo „nano“ spolu s názvom súboru.





Teraz je novovytvorený súbor C++ macro.cc pripravený na kódovanie v editore. Začnime implementovať kód C++ pri implementácii tohto článku, aby sme videli fungovanie makra __FILE__. Náš kód C++ sme začali pridaním štandardnej vstupno-výstupnej hlavičky na jeho začiatok. Kľúčové slovo „zahrnúť“ sa na tento účel použilo so znakom hash. Bez tejto hlavičky nebude vstup a výstup kódu C++ fungovať na konzole pri kompilácii a spustení.





Metóda main() je základným pilierom nášho kódu, keďže spúšťanie od nej začína a končí v nej. V rámci metódy main() sa vykoná skutočná práca. Na popis funkčnosti makra __FILE__ sme v našej metóde main() používali jednoriadkový kód. Takže tu bol použitý príkaz printf, ktorý berie dve hodnoty ako argumenty, t. j. reťazec preberá názov súboru a funkciu makra.

Makro __FILE__ sa tu používa na získanie aktuálnej cesty k súboru alebo jeho názvu. Zatiaľ čo „%S“ sa používa na vytlačenie aktuálnej cesty k súboru alebo jeho názvu v rámci reťazca. Pred spustením musíte kód uložiť pomocou skratky „Ctrl+S“. Teraz je kód uložený, skúste sa vrátiť späť do shellového terminálu pomocou skratky „Ctrl+X“.



Keď sme skončili s kódom C++ pre makro __FILE__, začnime s kompiláciou kódu C++. Pre kompiláciu sme už nainštalovali kompilátor g++ na kompiláciu kódu C++. Na kompiláciu súboru „macro.cc“ bol teda v termináli použitý kompilátor g++. Po kompilácii nevracia nič, čo znamená, že kód C++ je v súbore macro.cc sémanticky správny. Po kompilácii prichádza rad na vykonanie kódu. Na spustenie súboru s kódom zvykneme používať jednoduchý dotaz „./.aout“. Po spustení súboru macro.cc sme na oplátku dostali názov súboru ako. Takto funguje makro C++ __FILE__.

Príklad 02:

Pozrime sa na ďalší príklad, aby sme sa pozreli na funkčnosť makra C++ __FILE__ v systéme Ubuntu 20.04. Ako sme videli, ako funguje makro __FILE__ v C++, keď bolo použité na získanie cesty k súboru, v ktorom bolo spomenuté.

Teraz použijeme makro __FILE__ C++ na získanie cesty k súboru alebo názvu iného súboru, ako je súbor, na ktorom práve pracujeme. Na aktualizáciu kódu sme teda otvorili rovnaký súbor macro.cc v editore GNU Nano. Pridali sme štandardnú vstupno-výstupnú hlavičku s kľúčovým slovom include a inicializovali sme funkciu main() s návratovým typom celé číslo.

V rámci metódy main() je prvý príkaz print rovnaký ako ten starý, aby sa získala aktuálna cesta k súboru, na ktorej práve pracujeme. Potom sme použili kľúčové slovo #line s iným názvom súboru, t. j. „new.txt“ v nasledujúcom riadku. Toto je špecifikovať súbor iný ako aktuálny súbor, pre ktorý budeme získavať jeho názov alebo cestu. Ďalší príkaz printf bol použitý na vytlačenie cesty k súboru „new.txt“ pomocou makra C++ __FILE__. Uložte si svoj novo aktualizovaný kód, aby ste sa vyhli akýmkoľvek nepríjemnostiam pri kompilácii. Ak to chcete urobiť, použite 'Ctrl + S'.

Po uložení aktualizovaného súboru ho ukončite pomocou „Ctrl+X“ na klávesnici. Teraz sme späť na obrazovke.

Poďme skompilovať aktualizovaný súbor. Použite na to kompilátor g++ s názvom súboru macro.cc. Po úspešnej kompilácii spustite kód príkazom „./a.out“ v konzole. Výstup zobrazuje najprv cestu k aktuálnemu súboru, potom cestu k druhému súboru, na obrazovke shellu sa zobrazí „new.txt“. Pozrite sa, aké ľahké je použiť makro __FILE__ na zobrazenie cesty k súboru na shell.

Príklad 03:

Pozrime sa na makro __LINE__ spolu s makrom __FILE__ v C++. Makro __LINE__ zobrazí číslo riadku súboru, v ktorom bolo makro použité. Otvorte teda ten istý súbor a aktualizujte oba príkazy printf. Pred makro C++ __LINE__ sme pridali makro C++ __LINE__. Toto makro __LINE__získava číslo riadku aktuálneho súboru, kde je __FILE__ na prvom mieste. Zatiaľ čo ďalšie makro __LINE__ dostane číslo prvého riadku druhého súboru, pretože číslo riadku s názvom súboru sme už spomenuli v kóde.

Po uložení a ukončení súboru sme sa vrátili do shellového terminálu. Na kompiláciu kódu súboru C++ macro.cc používame rovnaký príkaz g++. Úspešná kompilácia vedie k vykonaniu príkazu. Teraz sa tu používa príkaz „./a.out“. Spustenie nám hovorí, že prvý súbor, t. j. aktuálny súbor v riadku 3, zatiaľ čo makro __FILE__ je na prvom riadku druhého súboru uvedeného v kóde.

Záver:

Tento článok obsahuje definíciu makier a pojednáva o použití makra C++ __FILE__ v systéme Ubuntu 20.04. Makro C++ __LINE__ bolo tiež diskutované v niektorých príkladoch, aby sa viac ilustrovalo fungovanie makra C++ __FILE__. Aby som to zhrnul, pevne dúfame, že tento článok vám pomôže s makrom C++ __FILE__makro v celej svojej kráse.