"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je déterminer les numéros de ligne dans les compilateurs C/C++ ?

Comment puis-je déterminer les numéros de ligne dans les compilateurs C/C++ ?

Publié le 2024-11-08
Parcourir:385

How Can I Determine Line Numbers in C/C   Compilers?

Obtention des numéros de ligne dans les compilateurs C/C

Lors du débogage du code C/C, il peut être utile de déterminer le numéro de ligne où un une erreur se produit. Une solution courante consiste à ajouter manuellement des numéros de ligne au code, mais une approche plus efficace consiste à utiliser des macros de préprocesseur intégrées.

Macros de préprocesseur standard pour les numéros de ligne

La norme C/C définit deux macros de préprocesseur :

  • __LINE__ : fournit le numéro de ligne actuel dans le fichier.
  • __FILE__ : donne le nom de fichier actuel.

Exemple d'utilisation

Pour imprimer le numéro de ligne où une erreur logique se produit, vous pouvez utiliser le code suivant :

if (!Logical) {
  printf("Not logical value at line number %d in file %s\n", __LINE__, __FILE__);
}

Autres variables du préprocesseur

En plus des numéros de ligne et des noms de fichiers, d'autres variables du préprocesseur peuvent être utiles pour le débogage :

  • __func__ : Renvoie le nom de la fonction actuelle (pris en charge dans C99 mais pas toujours dans les compilateurs C).
  • __DATE__ : Fournit la date actuelle au format "Mmm jj aaaa".
  • __TIME__ : Fournit l'heure actuelle au format "hh:mm:ss".

Implémentation

En incorporant ces macros dans votre code, vous pouvez facilement obtenir les numéros de ligne et d'autres informations de débogage sans avoir besoin de mises à jour manuelles. Cela améliore la précision et l'efficacité de vos efforts de débogage.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729735884. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3