Maison  >  Article  >  développement back-end  >  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 ?

DDD
DDDoriginal
2024-10-24 18:35:16700parcourir

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 du 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__);
}

Autre préprocesseur Variables

En plus des numéros de ligne et des noms de fichiers, d'autres variables de 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 ".

Mise en œuvre

En incorporant ces macros dans votre code, vous pouvez facilement obtenir des 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn