C++ __FILE__ makro

C File Makro



Makronaredbe su neki dio koda u nekoj skripti s određenim nazivom. Kada se bilo koja od makronaredbi izvrši, kod iza njih se izvršava za izvođenje određenog zadatka. Upravo tako, __FILE__ je makro koji se koristi unutar jezika C++ za dobivanje putanje do određene datoteke. Dakle, danas ćemo u ovom vodiču raspravljati o radu C++ __FILE__ makronaredbe.

Primjer 01:

Uzmimo prvi primjer makronaredbe __FILE__ u C++-u pokretanjem aplikacije terminalske konzole. Možda za to koristite prečac 'Ctrl+Alt+T'. Drugi način za otvaranje ljuske je korištenje područja aktivnosti izbornika ako ste zaboravili tipku prečaca. Nakon što se terminalska konzola pokrene na vašem zaslonu, pokušajte stvoriti novu C++ datoteku da biste u njoj izradili kod. Datoteka se može stvoriti jednostavnim 'dodirnim' upitom, kao što je prikazano na priloženoj slici ispod. Ime novostvorene datoteke mora biti navedeno s ključnom riječi 'dodir'.







Mora postojati neki uređivač instaliran na vašem Ubuntu 20.04 Linux sustavu da biste ga mogli koristiti za kodiranje i otvaranje novostvorenih datoteka. Najpreporučljiviji uređivači široko poznati među korisnicima Linuxa su GNU Nano i Vim editor. Osim toga, uređivač teksta također se može koristiti u slučaju da oba prethodno navedena uređivača ne rade. Dakle, već smo instalirali GNU Nano editor. Stoga ćemo ga koristiti za otvaranje i uređivanje datoteke za izradu koda. Koristite ključnu riječ 'nano' zajedno s nazivom datoteke kako bi uređivač radio.





Sada je novostvorena C++ datoteka macro.cc spremna za kodiranje u editoru. Počnimo s implementacijom C++ koda kao što implementiramo ovaj članak da bismo vidjeli rad makronaredbe __FILE__. Započeli smo naš C++ kod dodavanjem standardnog ulazno-izlaznog zaglavlja na njegov vrh. Ključna riječ 'uključi' korištena je sa znakom hash za to. Bez ovog zaglavlja, ulaz i izlaz C++ koda neće raditi na konzoli nakon kompilacije i izvođenja.





Metoda main() osnovni je stup našeg koda budući da izvođenje počinje od nje i završava u njoj. Unutar metode main() obavit će se stvarni posao. Koristili smo jednoredni kod u našoj main() metodi da bismo opisali funkcionalnost makronaredbe __FILE__. Dakle, iskaz printf je korišten ovdje, uzimajući dvije vrijednosti kao argumente, tj. niz koji uzima naziv datoteke i makro funkciju.

Makro __FILE__ ovdje se koristi za dobivanje staze trenutne datoteke ili njezinog naziva. Dok se “%S” koristi za ispis trenutne putanje datoteke ili njenog naziva unutar niza. Morate spremiti svoj kod prije izvršenja uz pomoć prečaca “Ctrl+S”. Sada je kod spremljen, pokušajte se vratiti na terminal ljuske koristeći prečac “Ctrl+X”.



Kako smo završili s C++ kodom za makronaredbu __FILE__, započnimo kompilaciju C++ koda. Za kompilaciju smo već instalirali g++ kompajler za kompajliranje C++ koda. Dakle, g++ kompajler je korišten u terminalu za kompajliranje datoteke 'macro.cc'. Nakon kompilacije ne vraća ništa, što znači da je C++ kod unutar datoteke macro.cc semantički ispravan. Nakon kompilacije, na red dolazi izvođenje koda. Za pokretanje kodne datoteke obično koristimo jednostavan upit “./.aout”. Nakon pokretanja datoteke macro.cc, zauzvrat smo dobili naziv datoteke. Ovako radi makro C++ __FILE__.

Primjer 02:

Uzmimo još jedan primjer za dublji pregled funkcionalnosti C++ __FILE__ makronaredbe unutar Ubuntu 20.04 sustava. Kao što smo vidjeli kako C++ __FILE__ makro radi kada je korišten za dohvaćanje putanje datoteke u kojoj je spomenut.

Sada ćemo upotrijebiti C++ __FILE__ makronaredbu da dobijemo putanju datoteke ili naziv datoteke koja nije datoteka na kojoj trenutno radimo. Dakle, otvorili smo istu datoteku macro.cc u uređivaču GNU Nano da ažuriramo kod. Dodali smo standardno ulazno-izlazno zaglavlje s ključnom riječi include i inicijalizirali funkciju main() s povratnom vrstom cijelog broja.

Unutar metode main(), prva naredba za ispis je ista kao i stara da bi se dobila staza trenutne datoteke na kojoj trenutno radimo. Nakon toga smo upotrijebili ključnu riječ #line s drugim nazivom datoteke, tj. 'new.txt' u sljedećem uzastopnom retku. Ovo služi za navođenje datoteke koja nije trenutna datoteka za koju ćemo dobiti njezino ime ili stazu. Sljedeća izjava printf iskorištena je za ispis putanje datoteke 'new.txt' uz pomoć C++ __FILE__ makronaredbe. Spremite svoj nedavno ažurirani kod kako biste izbjegli bilo kakve neugodnosti tijekom kompilacije. Za to koristite 'Ctrl+S'.

Nakon što spremite ažuriranu datoteku, zatvorite je putem 'Ctrl+X' na tipkovnici. Sada se vraćamo na zaslon školjke.

Sastavimo ažuriranu datoteku. Koristite g++ kompajler da to učinite s nazivom datoteke macro.cc. Nakon uspješne kompilacije, pokrenite kod pomoću naredbe “./a.out” u konzoli. Izlaz prvo prikazuje put do trenutne datoteke, a zatim put do druge datoteke, 'new.txt' je prikazan na zaslonu ljuske. Pogledajte kako je lako koristiti makronaredbu __FILE__ za prikaz putanje datoteke na ljusci.

Primjer 03:

Pogledajmo makronaredbu __LINE__ zajedno s makronaredbom __FILE__ u C++. Makronaredba __LINE__ prikazat će broj retka datoteke na kojoj je makronaredba korištena. Dakle, otvorite istu datoteku i ažurirajte obje izjave printf. Prije makronaredbe C++ __LINE__, dodali smo makronaredbu C++ __LINE__. Ovaj __LINE__makro dobiva broj retka trenutne datoteke gdje je __FILE__ prvi. Dok će sljedeći makro __LINE__ dobiti prvi broj retka druge datoteke jer smo već spomenuli broj retka s nazivom datoteke u kodu.

Nakon spremanja i zatvaranja datoteke, vratili smo se na terminal školjke. Koristimo istu g++ naredbu za kompajliranje koda datoteke C++ macro.cc. Uspješna kompilacija vodi do naredbe izvršenja. Sada se za to koristi naredba “./a.out”. Izvršenje nam govori da je prva datoteka, tj. trenutna datoteka u retku 3, dok je makronaredba __FILE__ u prvom retku druge datoteke spomenute u kodu.

Zaključak:

Ovaj članak sadrži definiciju makronaredbi i raspravlja o upotrebi C++ makronaredbe __FILE__ u sustavu Ubuntu 20.04. O C++ __LINE__ makronaredbi također je bilo riječi u nekim primjerima kako bi se dodatno ilustrirao rad C++ __FILE__ makronaredbe. Ukratko, nadamo se da će vam ovaj članak pomoći s C++ __FILE__makroom u najboljem izdanju.