C++ __FILE__ makro

C File Makro



Makron är en bit kod i något skript som har något specifikt namn. När något av makron exekveras, exekveras koden bakom dem för att utföra en viss uppgift. Precis så är __FILE__ ett makro som används inom C++-språket för att få sökvägen till en specifik fil. Så idag i den här guiden kommer vi att diskutera hur ett C++ __FILE__-makro fungerar.

Exempel 01:

Låt oss ta det första exemplet på makrot __FILE__ i C++ genom att starta terminalkonsolapplikationen. Du kanske använder genvägen 'Ctrl+Alt+T' för att göra det. Ett annat sätt att öppna skalet är att använda menyn Aktivitetsområdet om du har glömt kortkommandot. Efter att terminalkonsolen har startat på din skärm, försök att skapa en ny c++-fil för att göra kod i den. En fil kan skapas med en enkel 'touch'-fråga, som visas i den bifogade bilden nedan. Namnet på en nyskapad fil måste anges med nyckelordet 'touch'.







Det måste finnas någon editor installerad på ditt Ubuntu 20.04 Linux-system för att kunna använda den för att koda och öppna de nyskapade filerna. De mest rekommenderade redigerarna som är allmänt kända bland Linux-användare är GNU Nano och Vim editor. Utöver det kan textredigeraren också användas om båda de tidigare nämnda redigerarna inte fungerar. Så vi har redan installerat GNU Nano-redigeraren. Därför kommer vi att använda den för att öppna och redigera filen för att skapa kod. Använd nyckelordet 'nano' tillsammans med filnamnet för att få redigeraren att fungera.





Nu är den nyskapade C++-filen macro.cc redo för kodning i editorn. Låt oss börja implementera C++-kod när vi implementerar den här artikeln för att se hur makrot __FILE__ fungerar. Vi har startat vår C++-kod genom att lägga till standard input-output-huvudet överst på den. Nyckelordet 'inkludera' har använts med hash-tecknet för att göra det. Utan denna rubrik kommer ingången och utmatningen av C++-koden inte att fungera på konsolen vid kompilering och exekvering.





Main()-metoden är grundpelaren i vår kod eftersom exekveringen börjar från den och slutar i den. Inom main()-metoden kommer själva arbetet att utföras. Vi har använt en enkelradskod i vår main()-metod för att beskriva funktionaliteten hos makrot __FILE__. Så, printf-satsen har använts här, med de två värdena som argument, d.v.s. strängen som tar filnamnet och makrofunktionen.

Makrot __FILE__ används här för att hämta den aktuella filsökvägen eller dess namn. Medan '%S' används för att skriva ut den aktuella sökvägen till en fil eller dess namn i en sträng. Du måste spara din kod innan exekveringen med hjälp av en 'Ctrl+S' genväg. Nu är koden sparad, försök gå tillbaka till skalterminalen med 'Ctrl+X'-genvägen.



När vi är klara med C++-koden för makrot __FILE__, låt oss börja kompileringen av C++-kod. För kompileringen har vi redan installerat g++-kompilatorn för att kompilera C++-koden. Så, kompilatorn g++ har använts i terminalen för att kompilera filen 'macro.cc'. Vid kompilering returnerar den ingenting, vilket indikerar att C++-koden finns i macro.cc-filen är semantiskt korrekt. Efter kompileringen kommer turerna för exekvering av en kod. För att köra kodfilen brukar vi använda den enkla frågan './.aout'. När vi kör filen macro.cc har vi fått namnet på en fil som i gengäld. Så här fungerar makrot C++ __FILE__.

Exempel 02:

Låt oss ha ett annat exempel att gå djupt ner för att titta på funktionaliteten hos makrot C++ __FILE__ i Ubuntu 20.04-systemet. Som vi har sett hur makrot C++ __FILE__ fungerar när det har använts för att hämta sökvägen till en fil där den har nämnts.

Nu kommer vi att använda makrot C++ __FILE__ för att få sökvägen eller namnet på en annan fil än den fil vi för närvarande arbetar med. Så vi har öppnat samma fil macro.cc i GNU Nano-redigeraren för att uppdatera koden. Vi har lagt till standard input-output-huvudet med include nyckelord och initierat en main() funktion med heltalsreturtypen.

Inom main()-metoden är den första print-satsen densamma som den gamla för att få den aktuella filsökvägen som vi för närvarande arbetar med. Efter det har vi använt nyckelordet #line med ett annat filnamn, d.v.s. 'new.txt' på nästa rad. Detta är för att ange vilken annan fil än den aktuella filen som vi kommer att få dess namn eller en sökväg för. Nästa printf-sats har använts för att skriva ut sökvägen till filen 'new.txt' med hjälp av ett C++ __FILE__-makro. Spara din nyligen uppdaterade kod för att undvika besvär vid kompileringstillfället. Använd 'Ctrl+S' för att göra det.

När du har sparat den uppdaterade filen, avsluta den med 'Ctrl+X' från ditt tangentbord. Nu är vi tillbaka på skalskärmen.

Låt oss kompilera den uppdaterade filen. Använd g++ kompilator för att göra det med namnet på filen macro.cc. Efter den lyckade kompileringen kör du koden med kommandot './a.out' i konsolen. Utdata visar sökvägen till en aktuell fil först, sedan har sökvägen till den andra filen, 'new.txt' visats på skalskärmen. Titta hur lätt det är att använda makrot __FILE__ för att visa filsökvägen på skalet.

Exempel 03:

Låt oss ta en titt på makrot __LINE__ tillsammans med makrot __FILE__ i C++. Makrot __LINE__ visar radnumret för filen där makrot har använts. Så öppna samma fil och uppdatera båda printf-satserna. Innan makrot C++ __LINE__ har vi lagt till makrot C++ __LINE__. Detta __LINE__makro får radnumret för en aktuell fil där __FILE__ kommer först. Medan nästa __LINE__ makro kommer att få det första radnumret för den andra filen eftersom vi redan har nämnt radnumret med filnamnet i koden.

Efter att ha sparat och avslutat filen har vi återvänt till skalterminalen. Vi använder samma g++-kommando för att kompilera C++ macro.cc-filkoden. Den framgångsrika kompileringen leder till exekveringskommandot. Nu används kommandot './a.out' här för att göra det. Körningen talar om för oss att den första filen, d.v.s. den aktuella filen på rad 3, medan makrot __FILE__ finns på den första raden i den andra filen som nämns i koden.

Slutsats:

Den här artikeln innehåller definitionen av makron och diskuterar användningen av makrot C++ __FILE__ i Ubuntu 20.04-systemet. Makrot C++ __LINE__ har också diskuterats i några exempel för att illustrera hur C++ __FILE__-makrot fungerar mer. Sammanfattningsvis har vi ett stort hopp om att den här artikeln kommer att hjälpa dig med C++ __FILE__makro när den är som bäst.