C++ __FILE__ makrokomandą

C File Makrokomanda



Makrokomandos yra tam tikra kodo dalis tam tikrame scenarijuje, turinčiam tam tikrą pavadinimą. Kai kuri nors iš makrokomandų vykdoma, už jų esantis kodas yra vykdomas tam tikrai užduočiai atlikti. Lygiai taip pat __FILE__ yra makrokomanda, naudojama C++ kalba norint gauti kelią į konkretų failą. Taigi, šiandien šiame vadove aptarsime C++ __FILE__ makrokomandos veikimą.

01 pavyzdys:

Paimkime pirmąjį __FILE__ makrokomandos pavyzdį C++, paleisdami terminalo konsolės programą. Tam galite naudoti spartųjį klavišą „Ctrl+Alt+T“. Kitas būdas atidaryti apvalkalą yra naudoti meniu Veiklos sritis, jei pamiršote spartųjį klavišą. Kai ekrane bus paleista terminalo konsolė, pabandykite sukurti naują c++ failą, kad atliktumėte kodą. Failas gali būti sukurtas naudojant paprastą „palietimo“ užklausą, kaip parodyta toliau pateiktame paveikslėlyje. Naujai sukurto failo pavadinimas turi būti pateiktas su raktiniu žodžiu „touch“.







Ubuntu 20.04 Linux sistemoje turi būti įdiegtas tam tikras redaktorius, kad galėtumėte jį naudoti koduodami ir atidarydami naujai sukurtus failus. Labiausiai rekomenduojami redaktoriai, plačiai žinomi tarp Linux vartotojų, yra GNU Nano ir Vim redaktorius. Be to, teksto rengyklė taip pat gali būti naudojama tuo atveju, jei neveikia abu anksčiau minėti redaktoriai. Taigi, mes jau įdiegėme GNU Nano redaktorių. Taigi mes naudosime jį norėdami atidaryti ir redaguoti failą, kad sukurtume kodą. Naudokite „nano“ raktinį žodį kartu su failo pavadinimu, kad redaktorius veiktų.





Dabar naujai sukurtas C++ failas macro.cc yra paruoštas kodavimui redaktoriuje. Pradėkime diegti C++ kodą diegdami šį straipsnį, kad pamatytume __FILE__ makrokomandos veikimą. Mes pradėjome savo C++ kodą pridėdami standartinę įvesties-išvesties antraštę jo viršuje. Raktinis žodis „įtraukti“ buvo naudojamas su maišos ženklu. Be šios antraštės C++ kodo įvestis ir išvestis neveiks konsolėje kompiliuojant ir vykdant.





Pagrindinis () metodas yra pagrindinis mūsų kodo ramstis, nes vykdymas prasideda nuo jo ir baigiasi juo. Tikrasis darbas bus atliktas naudojant main() metodą. __FILE__ makrokomandos funkcionalumui apibūdinti naudojome vienos eilutės kodą savo main() metodu. Taigi čia buvo naudojamas printf teiginys, kaip argumentus paimant dvi reikšmes, t. y. eilutę, paėmusią failo pavadinimą ir makrokomandos funkciją.

__FILE__ makrokomanda čia naudojama dabartiniam failo keliui arba jo pavadinimui gauti. Nors „%S“ naudojamas dabartiniam failo keliui arba jo pavadinimui eilutėje išspausdinti. Prieš vykdydami kodą turite išsaugoti naudodami spartųjį klavišą „Ctrl+S“. Dabar kodas išsaugotas, pabandykite grįžti į apvalkalo terminalą naudodami spartųjį klavišą „Ctrl + X“.



Kaip jau baigėme su C++ kodu __FILE__ makrokomandai, pradėkime C++ kodo kompiliavimą. Kompiliacijai mes jau įdiegėme g++ kompiliatorių C++ kodui kompiliuoti. Taigi, g++ kompiliatorius buvo naudojamas terminale, norint sudaryti failą „macro.cc“. Kompiliuojant jis nieko nepateikia, o tai rodo, kad C++ kodas yra macro.cc faile, yra semantiškai teisingas. Po kompiliavimo ateina eilė vykdyti kodą. Norėdami paleisti kodo failą, mes linkę naudoti paprastą užklausą „./.aout“. Paleidę failą macro.cc, mes gavome failo pavadinimą kaip mainą. Taip veikia C++ __FILE__ makrokomanda.

02 pavyzdys:

Pažvelkime į kitą pavyzdį, kad galėtume pažvelgti į C++ __FILE__ makrokomandos funkcionalumą Ubuntu 20.04 sistemoje. Kaip matėme, kaip veikia C++ __FILE__ makrokomanda, kai ji buvo naudojama failo, kuriame ji buvo paminėta, keliui gauti.

Dabar naudosime C++ __FILE__ makrokomandą, kad gautume failo kelią arba failo pavadinimą, kuris nėra failas, su kuriuo šiuo metu dirbame. Taigi, norėdami atnaujinti kodą, GNU Nano redaktoriuje atidarėme tą patį failą macro.cc. Pridėjome standartinę įvesties-išvesties antraštę su įtraukti raktažodžiu ir inicijavome funkciją main() su sveikojo skaičiaus grąžinimo tipu.

Naudojant main() metodą, pirmasis spausdinimo sakinys yra toks pat kaip ir senasis, kad būtų gautas dabartinis failo kelias, kuriuo šiuo metu dirbame. Po to mes panaudojome raktinį žodį #line su kitu failo pavadinimu, t. y. „new.txt“ kitoje iš eilės eilutėje. Taip norima nurodyti kitą failą nei dabartinis failas, kurio pavadinimą arba kelią gausime. Kitas printf sakinys buvo panaudotas failo „new.txt“ keliui išspausdinti naudojant C++ __FILE__ makrokomandą. Išsaugokite naujai atnaujintą kodą, kad išvengtumėte nepatogumų kompiliavimo metu. Norėdami tai padaryti, naudokite „Ctrl + S“.

Išsaugoję atnaujintą failą, uždarykite jį klaviatūros klavišu „Ctrl+X“. Dabar grįžtame prie apvalkalo ekrano.

Sukompiliuokime atnaujintą failą. Naudokite g++ kompiliatorių, kad tai padarytumėte su failo macro.cc pavadinimu. Po sėkmingo kompiliavimo paleiskite kodą su komanda „./a.out“ konsolėje. Išvestis pirmiausia rodo kelią į dabartinį failą, tada kelias į kitą failą, „new.txt“ buvo rodomas apvalkalo ekrane. Pažiūrėkite, kaip lengva naudoti makrokomandą __FILE__, kad būtų rodomas failo kelias apvalkale.

03 pavyzdys:

Pažvelkime į __LINE__ makrokomandą kartu su __FILE__ makrokomandą C++. Makrokomandoje __LINE__ bus rodomas failo, kuriame buvo naudojama makrokomanda, eilutės numeris. Taigi, atidarykite tą patį failą ir atnaujinkite abu printf teiginius. Prieš C++ __LINE__ makrokomandą pridėjome C++ __LINE__ makrokomandą. Ši __LINE__makrokomanda gauna dabartinio failo eilutės numerį, kur __FILE__ yra pirmas. Nors kita __LINE__ makrokomanda gaus pirmosios kito failo eilutės numerį, nes kode jau minėjome eilutės numerį su failo pavadinimu.

Išsaugoję ir uždarę failą grįžome į apvalkalo terminalą. C++ macro.cc failo kodui sudaryti naudojame tą pačią g++ komandą. Sėkmingas kompiliavimas veda į vykdymo komandą. Dabar čia naudojama komanda „./a.out“. Vykdymas nurodo, kad pirmasis failas, ty dabartinis failas 3 eilutėje, o makrokomanda __FILE__ yra kito kode paminėto failo pirmoje eilutėje.

Išvada:

Šiame straipsnyje pateikiamas makrokomandų apibrėžimas ir aptariamas C++ __FILE__ makrokomandos naudojimas Ubuntu 20.04 sistemoje. C++ __LINE__ makrokomanda taip pat buvo aptarta kai kuriuose pavyzdžiuose, siekiant geriau iliustruoti C++ __FILE__ makrokomandos veikimą. Apibendrinant galima pasakyti, kad labai tikimės, kad šis straipsnis padės jums geriausiai naudoti C++ __FILE__makrokomandą.