"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني تحديد أرقام الأسطر في مترجمات C/C++؟

كيف يمكنني تحديد أرقام الأسطر في مترجمات C/C++؟

تم النشر بتاريخ 2024-11-08
تصفح:344

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

الحصول على أرقام الأسطر في مترجمات C/C

عند تصحيح أخطاء كود C/C، قد يكون من المفيد تحديد رقم السطر حيث يوجد يحدث خطأ. الحل الشائع هو إضافة أرقام الأسطر يدويًا إلى التعليمات البرمجية، ولكن الأسلوب الأكثر كفاءة هو استخدام وحدات ماكرو المعالج المسبق المضمنة.

وحدات الماكرو القياسية للمعالج المسبق لأرقام الأسطر

يحدد معيار C/C وحدتي ماكرو للمعالج المسبق:

  • __LINE__: يوفر رقم السطر الحالي داخل الملف.
  • __FILE__: يعطي اسم الملف الحالي.

مثال للاستخدام

لطباعة رقم السطر الذي يحدث فيه خطأ منطقي، يمكنك استخدام الكود التالي:

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

متغيرات المعالج المسبق الأخرى

بالإضافة إلى أرقام الأسطر وأسماء الملفات، يمكن أن تكون متغيرات المعالج المسبق الأخرى مفيدة لتصحيح الأخطاء:

  • __func__ : إرجاع اسم الوظيفة الحالية (مدعومة في C99 ولكن ليس دائمًا في برامج التحويل البرمجي C).
  • __DATE__: يوفر التاريخ الحالي بالتنسيق "Mmm dd yyyy".
  • __TIME__: يوفر الوقت الحالي بالتنسيق "hh:mm:ss".

التنفيذ

من خلال دمج وحدات الماكرو هذه في التعليمات البرمجية الخاصة بك، يمكنك بسهولة الحصول على أرقام الأسطر ومعلومات التصحيح الأخرى دون الحاجة إلى التحديثات اليدوية. يؤدي ذلك إلى تحسين دقة وكفاءة جهود تصحيح الأخطاء.

بيان الافراج يتم استنساخ هذه المقالة في: 1729735884 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3