C++ __FILE__ makro

C File Makro



Makrod on mingi kindla nimega skripti koodijupp. Kui mõni makrodest käivitati, käivitatakse nende taga olev kood teatud ülesande täitmiseks. Täpselt samamoodi on __FILE__ makro, mida kasutatakse C++ keeles konkreetse faili tee leidmiseks. Niisiis, täna selles juhendis käsitleme C++ __FILE__ makro tööd.

Näide 01:

Võtame esimese näite __FILE__ makrost C++-s, käivitades terminalikonsooli rakenduse. Võimalik, et kasutate selleks otseteed „Ctrl+Alt+T”. Teine võimalus kesta avamiseks on kasutada menüüd Tegevusala, kui olete kiirklahvi unustanud. Pärast terminalikonsooli käivitamist ekraanil proovige luua uus c++-fail, et selles koodi teha. Faili saab luua lihtsa puutepäringuga, nagu on näidatud alloleval lisatud pildil. Värskelt loodud faili nimi tuleb anda märksõnaga “touch”.







Teie Ubuntu 20.04 Linuxi süsteemi peab olema installitud mõni redaktor, et seda kasutada vastloodud failide kodeerimiseks ja avamiseks. Linuxi kasutajate seas laialt tuntud kõige soovitatavamad redaktorid on GNU Nano ja Vim redaktor. Peale selle saab tekstiredaktorit kasutada ka juhul, kui mõlemad eelnevalt mainitud redaktorid ei tööta. Niisiis, oleme juba installinud GNU Nano redaktori. Seega kasutame seda koodi tegemiseks faili avamiseks ja redigeerimiseks. Redaktori toimimiseks kasutage märksõna 'nano' koos failinimega.





Nüüd on vastloodud C++ fail macro.cc redaktoris kodeerimiseks valmis. Alustame selle artikli juurutamise ajal C++ koodi juurutamist, et näha makro __FILE__ toimimist. Oleme C++ koodi alustanud, lisades selle ülaossa standardse sisend-väljundpäise. Märksõna 'include' on selleks kasutatud koos räsimärgiga. Ilma selle päiseta ei tööta C++ koodi sisend ja väljund kompileerimisel ja täitmisel konsoolis.





Main() meetod on meie koodi põhisammas, kuna täitmine algab sellest ja lõpeb sellega. Meetodi main() raames tehakse tegelik töö ära. Oleme oma main() meetodis kasutanud makro __FILE__ funktsionaalsuse kirjeldamiseks üherealist koodi. Seega on siin kasutatud printf-lauset, võttes argumentidena need kaks väärtust, st string, mis võtab failinime ja makrofunktsiooni.

Makrot __FILE__ kasutatakse siin praeguse failitee või selle nime hankimiseks. Kui '%S' kasutatakse faili praeguse tee või selle nime stringis välja printimiseks. Enne käivitamist peate oma koodi salvestama kiirklahvi 'Ctrl+S' abil. Nüüd on kood salvestatud, proovige naasta shell-terminali, kasutades kiirklahvi “Ctrl+X”.



Nagu oleme lõpetanud makro C++ koodiga __FILE__, alustame C++ koodi koostamist. Kompileerimiseks oleme juba installinud g++ kompilaatori C++ koodi kompileerimiseks. Seega on terminalis faili “macro.cc” kompileerimiseks kasutatud g++ kompilaatorit. Kompileerimisel ei tagasta see midagi, mis näitab, et failis macro.cc olev C++ kood on semantiliselt õige. Pärast koostamist tulevad käigud koodi täitmisele. Koodifaili käitamiseks kipume kasutama lihtsat päringut „./.aout”. Faili macro.cc käivitamisel oleme saanud vastutasuks faili nime. Nii töötab makro C++ __FILE__.

Näide 02:

Vaatame veel ühte näidet, et uurida C++ __FILE__ makro funktsionaalsust Ubuntu 20.04 süsteemis. Nagu nägime, kuidas C++ __FILE__ makro töötab, kui seda on kasutatud failitee toomiseks failist, milles seda on mainitud.

Nüüd kasutame C++ makrot __FILE__, et saada failitee või nimi muule failile kui see, millega praegu töötame. Niisiis, oleme koodi värskendamiseks avanud GNU Nano redaktoris sama faili macro.cc. Oleme lisanud standardse sisend-väljund päise koos märksõnaga ja initsialiseerinud funktsiooni main() täisarvu tagastamise tüübiga.

Meetodi main() puhul on esimene prindilause sama, mis vana, et saada praegune failitee, mille kallal me praegu töötame. Pärast seda oleme kasutanud märksõna #line teise failinimega, st järgmisel järjestikusel real 'new.txt'. Selle eesmärk on määrata muu fail peale praeguse faili, mille nime või tee saame. Järgmist printf-lauset on kasutatud faili “new.txt” tee väljatrükkimiseks makro C++ __FILE__ abil. Salvestage oma värskelt värskendatud kood, et vältida kompileerimise ajal ebamugavusi. Kasutage selleks klahvikombinatsiooni Ctrl+S.

Pärast värskendatud faili salvestamist sulgege see klaviatuuri klahvikombinatsiooni Ctrl+X abil. Nüüd oleme tagasi shell-ekraanil.

Kompileerime uuendatud faili. Kasutage kompilaatorit g++, et seda teha faili nimega macro.cc. Pärast edukat kompileerimist käivitage kood konsoolis käsuga './a.out'. Väljund näitab esmalt praeguse faili teed, seejärel teise faili teed, kestaekraanil on kuvatud “new.txt”. Vaadake, kui lihtne on kasutada kestas failitee kuvamiseks makrot __FILE__.

Näide 03:

Vaatame C++ makrot __LINE__ koos makroga __FILE__. Makro __LINE__ kuvab selle faili reanumbri, milles makrot on kasutatud. Niisiis, avage sama fail ja värskendage mõlemat printf-lauset. Enne C++ __LINE__ makrot oleme lisanud makro C++ __LINE__. See __LINE__makro saab aktiivse faili reanumbri, kus __FILE__ on esimesena. Kuigi järgmine __LINE__ makro saab teise faili esimese rea numbri, kuna oleme koodis juba maininud rea numbrit koos failinimega.

Pärast faili salvestamist ja sulgemist oleme naasnud shellterminali. Kasutame sama g++ käsku C++ macro.cc failikoodi kompileerimiseks. Edukas kompileerimine viib täitmiskäsuni. Nüüd kasutatakse siin selleks käsku “./a.out”. Täitmine ütleb meile, et esimene fail, st praegune fail real 3, samas kui makro __FILE__ asub teise koodis mainitud faili esimesel real.

Järeldus:

See artikkel sisaldab makrode määratlust ja käsitleb C++ __FILE__ makro kasutamist Ubuntu 20.04 süsteemis. C++ __LINE__ makrot on ka mõnes näites käsitletud, et illustreerida C++ __FILE__ makro tööd rohkem. Kokkuvõtteks on meil suur lootus, et see artikkel aitab teid C++ __FILE__makroga selle parimal viisil.