سؤال

أرى الكثير في كود autoconf حول الأشياء التي يتم حذفها وعدم حذفها.ما هو dnl'ed؟

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

المحلول

من معالج ماكرو جنو M4 1.4.13 يدوي:

8.1 حذف المسافة البيضاء في الإدخال

المدمج dnl يرمز إلى "تجاهل إلى السطر التالي":

- مدمج: dnl

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

التوسع في dnl هو الفراغ.

غالبا ما يتم استخدامه فيما يتعلق define, ، لإزالة السطر الجديد الذي يتبع المكالمة إلى define.هكذا

   define(`foo', `Macro `foo'.')dnl A very simple macro, indeed.
   foo
   ⇒Macro foo.

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

[...]

نصائح أخرى

وIIRC، dnl عبارة do-next-line. ببساطة يتخطى ما تبقى من السطر الحالي. بل كيف تكتب تعليقات في ملفات M4.

dnl preprocessor will eat this
but not this dnl though this

وسوف تسفر هذه الوثيقة نتيجة

but not this

و(غير مجربة، قد قتل أيضا عملية خمول أو تحطم القرص الصلب الخاص بك).

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