Macro C++ __FILE__

Macro C File



Les macros sont un morceau de code dans un script ayant un nom spécifique. Lorsque l'une des macros est exécutée, le code derrière elles est exécuté pour effectuer une certaine tâche. Juste comme ça, le __FILE__ est une macro utilisée dans le langage C++ pour obtenir le chemin d'accès à un fichier spécifique. Ainsi, aujourd'hui, dans ce guide, nous discuterons du fonctionnement d'une macro C++ __FILE__.

Exemple 01 :

Prenons le premier exemple de macro __FILE__ en C++ en démarrant l'application console du terminal. Vous utilisez peut-être le raccourci 'Ctrl + Alt + T' pour le faire. Une autre façon d'ouvrir le shell est d'utiliser le menu Zone d'activité si vous avez oublié la touche de raccourci. Une fois la console du terminal lancée sur votre écran, essayez de créer un nouveau fichier c++ pour y coder. Un fichier peut être créé avec une simple requête 'toucher', comme le montre l'image ci-jointe ci-dessous. Le nom d'un fichier nouvellement créé doit être donné avec le mot-clé 'touch'.







Un éditeur doit être installé sur votre système Linux Ubuntu 20.04 pour pouvoir l'utiliser pour coder et ouvrir les fichiers nouvellement créés. Les éditeurs les plus recommandés parmi les utilisateurs de Linux sont GNU Nano et l'éditeur Vim. En dehors de cela, l'éditeur de texte peut également être utilisé au cas où les deux éditeurs mentionnés précédemment ne fonctionneraient pas. Donc, nous avons déjà installé l'éditeur GNU Nano. Ainsi, nous l'utiliserons pour ouvrir et éditer le fichier afin de créer du code. Utilisez le mot-clé 'nano' avec le nom du fichier pour faire fonctionner l'éditeur.





Maintenant, le fichier C++ nouvellement créé macro.cc est prêt à être codé dans l'éditeur. Commençons à implémenter le code C++ pendant que nous implémentons cet article pour voir le fonctionnement de la macro __FILE__. Nous avons commencé notre code C++ en ajoutant l'en-tête d'entrée-sortie standard en haut de celui-ci. Le mot-clé 'include' a été utilisé avec le signe dièse pour ce faire. Sans cet en-tête, l'entrée et la sortie du code C++ ne fonctionneront pas sur la console lors de la compilation et de l'exécution.





La méthode main() est le pilier de base de notre code car l'exécution commence à partir de celle-ci et s'y termine. Dans la méthode main(), le travail réel sera effectué. Nous avons utilisé une seule ligne de code dans notre méthode main() pour décrire la fonctionnalité de la macro __FILE__. Ainsi, l'instruction printf a été utilisée ici, en prenant les deux valeurs comme arguments, c'est-à-dire une chaîne prenant le nom du fichier et la fonction macro.

La macro __FILE__ est utilisée ici pour acquérir le chemin du fichier courant ou son nom. Alors que le '% S' est utilisé pour imprimer le chemin actuel d'un fichier ou son nom dans une chaîne. Vous devez enregistrer votre code avant l'exécution à l'aide d'un raccourci « Ctrl+S ». Maintenant que le code est enregistré, essayez de revenir au terminal shell en utilisant le raccourci 'Ctrl + X'.



Comme nous en avons fini avec le code C++ pour la macro __FILE__, commençons la compilation du code C++. Pour la compilation, nous avons déjà installé le compilateur g++ pour compiler le code C++. Ainsi, le compilateur g++ a été utilisé dans le terminal pour compiler le fichier 'macro.cc'. Lors de la compilation, il ne renvoie rien, ce qui indique que le code C++ contenu dans le fichier macro.cc est sémantiquement correct. Après la compilation, viennent les tours pour l'exécution d'un code. Pour exécuter le fichier de code, nous avons tendance à utiliser la simple requête « ./.aout ». Lors de l'exécution du fichier macro.cc, nous avons obtenu le nom d'un fichier en retour. C'est ainsi que fonctionne la macro C++ __FILE__.

Exemple 02 :

Prenons un autre exemple pour approfondir la fonctionnalité de la macro C++ __FILE__ dans le système Ubuntu 20.04. Comme nous avons vu comment la macro C++ __FILE__ fonctionne lorsqu'elle a été utilisée pour récupérer le chemin d'accès d'un fichier dans lequel elle a été mentionnée.

Maintenant, nous allons utiliser la macro C++ __FILE__ pour obtenir le chemin d'accès ou le nom d'un fichier autre que le fichier sur lequel nous travaillons actuellement. Nous avons donc ouvert le même fichier macro.cc dans l'éditeur GNU Nano pour mettre à jour le code. Nous avons ajouté l'en-tête d'entrée-sortie standard avec le mot-clé include et initialisé une fonction main() avec le type de retour entier.

Dans la méthode main(), la première instruction print est la même que l'ancienne pour obtenir le chemin du fichier actuel sur lequel nous travaillons actuellement. Après cela, nous avons utilisé le mot-clé #line avec un autre nom de fichier, c'est-à-dire 'new.txt' à la ligne consécutive suivante. Il s'agit de spécifier le fichier autre que le fichier courant pour lequel nous obtiendrons son nom ou un chemin. L'instruction printf suivante a été utilisée pour imprimer le chemin d'un fichier 'new.txt' à l'aide d'une macro C++ __FILE__. Enregistrez votre code nouvellement mis à jour pour éviter tout désagrément au moment de la compilation. Utilisez 'Ctrl + S' pour le faire.

Après avoir enregistré le fichier mis à jour, quittez-le via le 'Ctrl + X' de votre clavier. Maintenant, nous sommes de retour sur l'écran du shell.

Compilons le fichier mis à jour. Utilisez le compilateur g++ pour le faire avec le nom d'un fichier macro.cc. Une fois la compilation réussie, exécutez le code avec la commande « ./a.out » dans la console. La sortie montre d'abord le chemin d'accès à un fichier actuel, puis le chemin d'accès à l'autre fichier, 'new.txt' a été affiché sur l'écran du shell. Regardez comme il est facile d'utiliser la macro __FILE__ pour afficher le chemin du fichier sur le shell.

Exemple 03 :

Examinons la macro __LINE__ avec la macro __FILE__ en C++. La macro __LINE__ affichera le numéro de ligne du fichier sur lequel la macro a été utilisée. Alors, ouvrez le même fichier et mettez à jour les deux instructions printf. Avant la macro C++ __LINE__, nous avons ajouté la macro C++ __LINE__. Cette macro __LINE__ obtient le numéro de ligne d'un fichier actuel où le __FILE__ vient en premier. Alors que la prochaine macro __LINE__ obtiendra le premier numéro de ligne de l'autre fichier car nous avons déjà mentionné le numéro de ligne avec le nom du fichier dans le code.

Après avoir enregistré et quitté le fichier, nous sommes revenus au terminal shell. Nous utilisons la même commande g++ pour compiler le code du fichier C++ macro.cc. La compilation réussie conduit à la commande d'exécution. Maintenant, la commande './a.out' est utilisée ici pour le faire. L'exécution nous indique que le premier fichier, c'est-à-dire le fichier courant à la ligne 3, tandis que la macro __FILE__ est sur la première ligne de l'autre fichier mentionné dans le code.

Conclusion:

Cet article contient la définition des macros et traite de l'utilisation de la macro C++ __FILE__ dans le système Ubuntu 20.04. La macro C++ __LINE__ a également été abordée dans quelques exemples pour illustrer davantage le fonctionnement de la macro C++ __FILE__. Pour résumer, nous espérons vivement que cet article vous aidera avec la macro C++ __FILE__ à son meilleur.