Macro C++ __FILE__

Macro C File



Les macros són un fragment de codi d'algun script que té un nom específic. Quan s'executa qualsevol de les macros, el codi que hi ha darrere s'executa per realitzar una tasca determinada. Així, el __FILE__ és una macro que s'utilitza dins del llenguatge C++ per obtenir el camí d'accés a un fitxer específic. Així doncs, avui en aquesta guia, parlarem del funcionament d'una macro __FILE__ C++.

Exemple 01:

Prenguem el primer exemple de macro __FILE__ en C++ iniciant l'aplicació de la consola del terminal. És possible que utilitzeu la drecera 'Ctrl+Alt+T' per fer-ho. Una altra manera d'obrir l'intèrpret d'ordres és utilitzar l'àrea d'activitat del menú si heu oblidat la tecla de drecera. Un cop s'iniciï la consola del terminal a la pantalla, proveu de crear un fitxer C++ nou per fer-hi codi. Es pot crear un fitxer amb una simple consulta 'tàctil', tal com es mostra a la imatge adjunta a continuació. El nom d'un fitxer creat recentment s'ha de donar amb la paraula clau 'tocar'.







Hi ha d'haver algun editor instal·lat al vostre sistema Linux Ubuntu 20.04 per fer-ne ús per codificar i obrir els fitxers acabats de crear. Els editors més recomanats àmpliament coneguts entre els usuaris de Linux són GNU Nano i Vim editor. A part d'això, l'editor de text també es pot utilitzar en cas que els dos editors esmentats anteriorment no funcionin. Per tant, ja hem instal·lat l'editor GNU Nano. Així, l'utilitzarem per obrir i editar el fitxer per fer codi. Utilitzeu la paraula clau 'nano' juntament amb el nom del fitxer per fer que l'editor funcioni.





Ara, el fitxer C++ de nova creació macro.cc està preparat per a la codificació a l'editor. Comencem a implementar codi C++ mentre estem implementant aquest article per veure el funcionament de la macro __FILE__. Hem començat el nostre codi C++ afegint la capçalera estàndard d'entrada-sortida a la part superior. La paraula clau 'inclou' s'ha utilitzat amb el signe hash per fer-ho. Sense aquesta capçalera, l'entrada i sortida del codi C++ no funcionarà a la consola després de la compilació i l'execució.





El mètode main() és el pilar bàsic del nostre codi, ja que l'execució comença i acaba en ell. Dins del mètode main(), es farà el treball real. Hem estat utilitzant un codi de línia única al nostre mètode main() per descriure la funcionalitat de la macro __FILE__. Per tant, aquí s'ha utilitzat la sentència printf, prenent els dos valors com a arguments, és a dir, la cadena pren el nom del fitxer i la funció de macro.

La macro __FILE__ s'utilitza aquí per adquirir la ruta del fitxer actual o el seu nom. Mentre que '%S' s'utilitza per imprimir la ruta actual d'un fitxer o el seu nom dins d'una cadena. Heu de desar el codi abans de l'execució amb l'ajuda d'una drecera 'Ctrl+S'. Ara el codi està desat, proveu de tornar al terminal de l'intèrpret d'ordres utilitzant la drecera 'Ctrl+X'.



Com hem acabat amb el codi C++ per a la macro __FILE__, comencem la compilació del codi C++. Per a la compilació, ja hem instal·lat el compilador g++ per compilar el codi C++. Per tant, el compilador g++ s'ha utilitzat al terminal per compilar el fitxer 'macro.cc'. Després de la compilació, no retorna res, cosa que indica que el codi C++ que es troba dins del fitxer macro.cc és semànticament correcte. Després de la compilació, arriben els torns per a l'execució d'un codi. Per executar el fitxer de codi, solem utilitzar la consulta simple './.aout'. En executar el fitxer macro.cc, tenim el nom d'un fitxer com a canvi. Així és com funciona la macro C++ __FILE__.

Exemple 02:

Tinguem un altre exemple per aprofundir per veure la funcionalitat de la macro C++ __FILE__ dins del sistema Ubuntu 20.04. Com hem vist com funciona la macro C++ __FILE__ quan s'ha utilitzat per obtenir la ruta d'un fitxer en el qual s'ha esmentat.

Ara, utilitzarem la macro C++ __FILE__ per obtenir la ruta del fitxer o el nom d'un fitxer diferent del fitxer en el qual estem treballant actualment. Per tant, hem obert el mateix fitxer macro.cc a l'editor GNU Nano per actualitzar el codi. Hem afegit la capçalera d'entrada-sortida estàndard amb la paraula clau include i hem inicialitzat una funció main() amb el tipus de retorn enter.

Dins del mètode main(), la primera instrucció d'impressió és la mateixa que l'antiga per obtenir la ruta del fitxer actual en què estem treballant actualment. Després d'això, hem utilitzat la paraula clau #line amb un altre nom de fitxer, és a dir, 'new.txt' a la següent línia consecutiva. Això és per especificar el fitxer diferent del fitxer actual per al qual obtindrem el seu nom o una ruta. La següent instrucció printf s'ha utilitzat per imprimir la ruta d'un fitxer 'new.txt' amb l'ajuda d'una macro C++ __FILE__. Deseu el codi recentment actualitzat per evitar qualsevol inconvenient en el moment de la compilació. Feu servir 'Ctrl+S' per fer-ho.

Després de desar el fitxer actualitzat, sortiu-lo mitjançant 'Ctrl+X' del vostre teclat. Ara, tornem a la pantalla del shell.

Compilem el fitxer actualitzat. Utilitzeu el compilador g++ per fer-ho amb el nom d'un fitxer macro.cc. Després de la compilació correcta, executeu el codi amb l'ordre './a.out' a la consola. La sortida mostra primer la ruta a un fitxer actual, després la ruta a l'altre fitxer, 'new.txt' s'ha mostrat a la pantalla de l'intèrpret d'ordres. Mireu que fàcil és utilitzar la macro __FILE__ per mostrar la ruta del fitxer a l'intèrpret d'ordres.

Exemple 03:

Fem una ullada a la macro __LINE__ juntament amb la macro __FILE__ en C++. La macro __LINE__ mostrarà el número de línia del fitxer on s'ha utilitzat la macro. Per tant, obriu el mateix fitxer i actualitzeu les dues declaracions printf. Abans de la macro C++ __LINE__, hem afegit la macro C++ __LINE__. Aquesta __LINE__macro obté el número de línia d'un fitxer actual on el __FILE__ és primer. Mentre que la següent macro __LINE__ obtindrà el primer número de línia de l'altre fitxer perquè ja hem esmentat el número de línia amb el nom del fitxer al codi.

Després de desar i sortir del fitxer, hem tornat al terminal de l'intèrpret d'ordres. Estem utilitzant la mateixa ordre g++ per compilar el codi del fitxer C++ macro.cc. La compilació correcta condueix a l'ordre d'execució. Ara s'utilitza l'ordre './a.out' aquí per fer-ho. L'execució ens indica que el primer fitxer, és a dir, el fitxer actual a la línia 3, mentre que la macro __FILE__ es troba a la primera línia de l'altre fitxer esmentat al codi.

Conclusió:

Aquest article conté la definició de macros i tracta l'ús de la macro C++ __FILE__ al sistema Ubuntu 20.04. La macro C++ __LINE__ també s'ha discutit en alguns exemples per il·lustrar més el funcionament de la macro C++ __FILE__. En resum, tenim una gran esperança que aquest article us ajudi amb la __FILE__macro C++ al màxim.