C ++ __file__ makro

C ++ __file__ makro
Makroene er noe kode i noen skript som har et spesifikt navn. Når noen av makroene ble utført, blir koden bak dem utført for å utføre en viss oppgave. Akkurat slik er __file__ en makro som brukes i C ++ -språket for å få banen til en bestemt fil. Så i dag i denne guiden vil vi diskutere arbeidet med en C ++ __file__ makro.

Eksempel 01:

La oss ta det første eksemplet på __file__ makro i C ++ ved å starte terminalkonsollapplikasjonen. Du bruker kanskje snarveien “Ctrl+Alt+T” for å gjøre det. En annen måte å åpne skallet er å bruke menyaktivitetsområdet hvis du glemte snarveisnøkkelen. Etter at terminalkonsollen er lansert på skjermen, kan du prøve å lage en ny C ++ -fil for å gjøre kode i den. En fil kan opprettes med en enkel "berøring" -spørsmål, som vist i det vedlagte bildet nedenfor. Navnet på en nyopprettet fil må gis med "Touch" nøkkelordet.

Det må være noen redaktør installert på Ubuntu 20.04 Linux -system for å benytte det for koding og åpning av de nyopprettede filene. De mest anbefalte redaktørene som er kjent blant Linux -brukere er GNU Nano og Vim Editor. Annet enn det kan tekstredigereren også brukes i tilfelle begge de tidligere nevnte redaktørene ikke fungerer. Så vi har allerede installert GNU Nano -redaktøren. Dermed vil vi bruke den til å åpne og redigere filen for å lage kode. Bruk nøkkelordet “Nano” sammen med filnavnet for å få redaktøren til å fungere.

Nå, den nyopprettede C ++ -filmakroen.CC er klar for koding i redaktøren. La oss begynne å implementere C ++ -kode når vi implementerer denne artikkelen for å se arbeidet med __file__ makro. Vi har startet vår C ++ -kode ved å legge til standard input-output-overskrift øverst i den. Nøkkelordet "inkluderer" har blitt brukt med hasjtegnet for å gjøre det. Uten denne overskriften vil ikke inngangen og utgangen til C ++ -koden til å fungere på konsollen ved sammenstilling og utførelse.

Hovedmetoden () er grunnpilaren i koden vår når utførelsen starter fra den og slutter i den. Innenfor hovedmetoden () vil det faktiske arbeidet bli gjort. Vi har brukt en enkelt linjekode i vår Main () -metode for å beskrive funksjonaliteten til __file__ makro. Så Printf -setningen har blitt brukt her, og tatt de to verdiene som argumenter, jeg.e., streng tar filnavnet og makrofunksjonen.

__File__ -makroen brukes her for å skaffe seg gjeldende filsti eller navnet. Mens “%s” brukes til å skrive ut den gjeldende banen til en fil eller dens navn i en streng. Du må lagre koden din før utførelsen ved hjelp av en snarvei "Ctrl+S". Nå lagres koden, prøv å komme tilbake til skallterminalen ved å bruke snarveien “Ctrl+x”.

Når vi er ferdige med C ++ -koden for __File__ Macro, la oss begynne sammenstillingen av C ++ -kode. For samlingen har vi allerede installert G ++ -kompilatoren for å kompilere C ++ -koden. Så G ++ -kompilatoren er blitt brukt i terminalen for å kompilere filen “Makro.CC ”. Ved kompilering returnerer det ingenting, noe som indikerer at C ++ -koden er inne i makroen.CC -filen er semantisk korrekt. Etter samlingen kommer svingene for utførelse av en kode. For å kjøre kodefilen, har vi en tendens til å bruke “./.Aout ”enkel spørring. Når du kjører filmakroen.CC, vi har fått navnet på en fil som til gjengjeld. Slik fungerer C ++ __file__ makro.

Eksempel 02:

La oss ha et annet eksempel for å gå dypt ned for å se på funksjonaliteten til C ++ __file__ makro i Ubuntu 20.04 System. Som vi har sett hvordan C ++ __file__ makro fungerer når den har blitt brukt til å hente filstien til en fil der den er blitt nevnt.

Nå vil vi bruke C ++ __file__ -makroen for å få filstien eller navnet på en annen fil enn filen vi for øyeblikket jobber med. Så vi har åpnet den samme filmakroen.CC i GNU Nano -redaktøren for å oppdatere koden. Vi har lagt til standard input-output-overskrift med inkluderer nøkkelord og initialisert en hoved () -funksjon med heltallsreturtypen.

Innenfor Main () -metoden er den første utskriftserklæringen den samme som den gamle som får den nåværende filstien som vi jobber for øyeblikket. Etter det har vi brukt #line nøkkelordet med et annet filnavn, jeg.e., "ny.txt ”på neste påfølgende linje. Dette for å spesifisere filen annet enn den gjeldende filen som vi får navnet eller en bane. Den neste Printf -setningen er blitt brukt til å skrive ut banen til en fil “Ny.txt ”ved hjelp av en C ++ __file__ makro. Lagre den nylig oppdaterte koden for å unngå ulemper ved samlingen tidspunktet. Bruk “Ctrl+S” for å gjøre det.

Etter å ha lagret den oppdaterte filen, avslutt den via “Ctrl+X” fra tastaturet. Nå er vi tilbake på skallskjermen.

La oss sammenstille den oppdaterte filen. Bruk G ++ kompilator for å gjøre det med navnet på en filmakro.CC. Etter den vellykkede samlingen, kjør koden med "./en.ut ”-kommandoen i konsollen. Utgangen viser banen til en gjeldende fil først, deretter banen til den andre filen, “Ny.txt ”er vist på skallskjermen. Se hvor enkelt det er å bruke __file__ -makroen for å vise filstien på skallet.

Eksempel 03:

La oss se på __line__ -makroen sammen med __file__ -makroen i C++. __Line__ -makroen vil vise linjenummeret til filen som makroen er brukt. Så åpne den samme filen og oppdater begge Printf -setningene. Før C ++ __line__ -makroen har vi lagt til C ++ __line__ makroen. Denne __line__macro får linjenummeret til en gjeldende fil der __file__ kommer først. Mens neste __line__ makro vil få det første linjenummeret til den andre filen fordi vi allerede har nevnt linjenummeret med filnavnet i koden.

Etter å ha lagret og avsluttet filen, har vi returnert til skallterminalen. Vi bruker den samme G ++ -kommandoen for å kompilere C ++ -makroen.CC -filkode. Den vellykkede samlingen fører til utførelseskommandoen. Nå "./en.ut ”-kommandoen brukes her for å gjøre det. Utførelsen forteller oss at den første filen, jeg.e., Den gjeldende filen i linje 3, mens __file__ -makroen er på den første linjen i den andre filen som er nevnt i koden.

Konklusjon:

Denne artikkelen inneholder definisjonen av makroer og diskuterer bruken av C ++ __file__ makro i Ubuntu 20.04 System. C ++ __line__ -makroen har også blitt diskutert innenfor noen eksempler for å illustrere arbeidet med C ++ __file__ makro mer. For å oppsummere, har vi et høyt håp om at denne artikkelen vil hjelpe deg med C ++ __file__Macro på sitt beste.