سؤال

ما معنى #line في ال جيم لغة؟ أين سيتم استخدامها؟

هل كانت مفيدة؟

المحلول

يروي المحول البرمجي حيث جاء السطر التالي بالفعل. عادة ما يكون Preprocessor C فقط الذي يضيف هذه، على سبيل المثال، عند تضمين ملف، فإنه يروي المحول البرمجي (الذي يرى أساسا فقط دفقا واحدا من البيانات) الذي ننظر إليه في ملف مختلف.

قد يبدو هذا غريب، لكن ما قبل Preprocessor يقوم ببساطة بإدراج ملفات الرأس حيث يمكنك تحديد ما يشملك، ويعمل التحويل البرمجي على كل شيء (جميع ملفات الرأس المتسلسلة إلى جانب التعليمات البرمجية المصدرية)، يمكنك التحقق من نتيجة مرحلة ما قبل المعالج دول مجلس التعاون الخليجي مع gcc -E myfile.c. وبعد في هناك سوف تلاحظ أنه يضيف #line التوجيه كلما قمت بتضمين الملفات، وأيدا كلما أنه يقلل من مقدار النص الذي يتم الاحتياطي للمبرمج (مثل كميات كبيرة من التعليقات قد يتم تخفيضها إلى واحد #line التوجيه، تخطي المقبلة)

كما أنه يستخدم البرامج الأخرى، مثل Bison / YACC لإخبارك أن المشكلة (إذا كانت هناك مشكلة ترجمة) مرتبطة بملف القواعد الخاصة بك في سطر معين، والذي سيتمكن التحويل البرمجي غير قادر على القيام به، مثل Bison / YACC يولد ملفات C.

نصائح أخرى

ويسمى توجيه التحكم في خط Preprocessor.

توسعات كليهما __FILE__ و __LINE__ يتم تغيير إذا أ #line يستخدم التوجيه. يسبب التحويل البرمجي لعرض رقم سطر خط المصدر التالي كرقم محدد.

استخدامها الرئيسي هو جعل المترجم يوفر رسائل خطأ أكثر وضوحا.

يمكنك العثور على المزيد من التفسير ومثال استخدام في وثائق IBM.

إنها براغما الكلمة الرئيسية:

"#خط يتيح لك تعديل رقم سطر التحويل البرمجي و (اختياريا) إخراج اسم الملف للأخطاء والتحذيرات. يوضح هذا المثال كيفية الإبلاغ عن تحذير مرتبطين بأرقام الأسطر. يجبر التوجيه على #line 200 رقم الخط أن يكون 200 (على الرغم من أن الافتراضي هو # 7) وحتى التوجيه التالي #line، سيتم الإبلاغ عن اسم الملف بأنه "خاص". إرجاع التوجيه الافتراضي #line ترقيم السطر إلى الترقيم الافتراضي الخاص به، والذي يحسب الأسطر التي تم ترقيمها بواسطة التوجيه السابق. "

يسمح لك بتغيير عدد السطر الواضح للملف.

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

الاستخدام هو:

#line 42

يستخدم في الغالب لتزويد أسماء الملفات وأرقام السطر من ملف المصدر الذي تم إنشاؤه من ملف C (يكون رأسه أو تطبيقه). بالنظر إلى أنه، سيقوم المحول البرمجي بإبعاد التشخيصات التي تلمح في الملف المصدر بدلا من الملف الذي تم إنشاؤه.

يستخدم PreProcessors أيضا هذا لإرشاد الرؤوس المتضمنة في ملف مسبق مسبق لديه هذه الموسعة.

# هو الرمز الإصابة السلسلة إلى المعالج C و C ++

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top