عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

m4posix - عبر الإنترنت في السحابة

قم بتشغيل m4posix في موفر الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر m4posix الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


m4 — معالج ماكرو

موجز


m4 [] [− د الاسم[=فال]] [-U الاسم] ملف

الوصف


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

OPTIONS


m4 يجب أن تتوافق المنفعة مع حجم التعريفات الأساسية لـ POSIX.1-2008 ، القسم 12.2,
مرافق بناء الجملة التوجيهات، باستثناء أن ترتيب − د و -U يجب أن تكون الخيارات
كبيرة، ويمكن أن تتخلل الخيارات المعاملات.

يجب دعم الخيارات التالية:

تمكين إخراج مزامنة الخط لـ c99 مرحلة ما قبل المعالجة (أي،
#خط التوجيهات).

− د الاسم[=فال]
حدد الاسم إلى فال أو إلى قيمة فارغة إذا =فال تم حذفه.

-U الاسم غير محدد الاسم.

العمليات


يجب دعم المعامل التالي:

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

ستدين


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

INPUT FILES


ملف الإدخال المسمى من قبل ملف يجب أن يكون المعامل ملفًا نصيًا.

البيئة المتغيرات


يجب أن تؤثر متغيرات البيئة التالية على تنفيذ m4:

لانج قم بتوفير قيمة افتراضية لمتغيرات التدويل غير المضبوطة أو
باطل. (انظر حجم التعريفات الأساسية لـ POSIX.1-2008 ، القسم 8.2,
التجارة في الخارج المتغيرات لأسبقية التدويل
المتغيرات المستخدمة لتحديد قيم الفئات المحلية.)

LC_ALL إذا تم التعيين على قيمة سلسلة غير فارغة ، فتجاوز قيم جميع القيم الأخرى
متغيرات التدويل.

LC_CTYPE تحديد الإعدادات المحلية لتفسير تسلسل بايت من البيانات النصية
كأحرف (على سبيل المثال ، أحادية البايت بدلاً من أحرف متعددة البايت بتنسيق
الحجج وملفات الإدخال).

رسائل LC
حدد الإعدادات المحلية التي يجب استخدامها للتأثير على تنسيق ومحتويات
رسائل التشخيص المكتوبة على خطأ قياسي.

نلسباث تحديد موقع كتالوجات الرسائل لمعالجتها رسائل LC.

غير متزامن فعاليات


افتراضي.

STDOUT


يجب أن يكون الإخراج القياسي هو نفس ملفات الإدخال، بعد معالجتها للماكرو
توسيع.

ستدير


يجب استخدام الخطأ القياسي لعرض السلاسل ذات الامتداد خطأ ماكرو، تتبع الماكرو
تمكين بواسطة تعقب الماكرو، النص المحدد لوحدات الماكرو المكتوبة بواسطة com.dumpdef ماكرو، أو
للرسائل التشخيصية.

OUTPUT FILES


لا شيء.

وسعوا الوصف


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

مكالمات الماكرو لها النموذج:

الاسم(أرج 1, أرج 2، ... ، أرجن)

يجب أن تتكون أسماء الماكرو من الحروف والأرقام والشرطات السفلية، حيث الحرف الأول
ليس رقما. لا يجوز التعامل مع الرموز المميزة التي ليست بهذا النموذج كوحدات ماكرو.

يجب أن يضمن التطبيق أن يتبع مباشرة اسم
الماكرو. إذا لم يكن الرمز المميز المطابق لاسم الماكرو متبوعًا بـ
قوس>، يتم التعامل معه على أنه استخدام لهذا الماكرو بدون وسيطات.

إذا كان اسم الماكرو متبوعًا بـ a ، حججها هي
-رموز منفصلة بين والمطابقة
قوسين>. يجب تجاهل أحرف المسافة البيضاء غير المقتبسة التي تسبق كل وسيطة.
يتم الاحتفاظ بكافة الأحرف الأخرى، بما في ذلك أحرف المسافة البيضاء الزائدة.
الأحرف المغلقة بين و الشخصيات لا
تحديد الحجج.

يتم تعريف الحجج موضعيا والإشارة إليها. السلسلة "$ 1" في النص التعريفي
يجب استبداله بالحجة الأولى. يجب أن تدعم الأنظمة تسع وسيطات على الأقل؛
يمكن الرجوع إلى التسعة الأولى فقط باستخدام السلاسل "$ 1" إلى "$ 9"، شامل. ال
سلسلة "$ 0" يتم استبداله باسم الماكرو. السلسلة "$ #" يتم استبداله ب
عدد الوسائط كسلسلة. السلسلة "$*" يتم استبداله بقائمة بجميع
الحجج، مفصولة الشخصيات. السلسلة "$ @" يتم استبداله بقائمة الكل
من الحجج مفصولة الأحرف، ويتم اقتباس كل وسيطة باستخدام
سلاسل الاقتباس اليسرى واليمنى الحالية. السلسلة "${" ينتج سلوكًا غير محدد.

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

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

تتم كتابة التعليقات ولكن لا يتم فحصها لمطابقة أسماء الماكرو؛ بشكل افتراضي، تبدأ
تتكون سلسلة التعليق من يتكون الحرف وسلسلة التعليق النهائي
من أ . أنظر أيضاً com.changecom و dnl وحدات الماكرو.

m4 يجب أن توفر الأداة المساعدة وحدات الماكرو المضمنة التالية. ويمكن إعادة تعريفهم،
ولكن بمجرد القيام بذلك، يتم فقدان المعنى الأصلي. يجب أن تكون قيمها فارغة إلا إذا
يذكر خلاف ذلك. في الأوصاف أدناه، هذا المصطلح تحديد نص يشير إلى قيمة
الماكرو: الوسيطة الثانية لـ حدد ماكرو، من بين أمور أخرى. ما عدا
الحجة الأولى ل وحدة التقييم الماكرو، يجب أن تكون كافة الوسائط الرقمية لوحدات الماكرو المضمنة
يتم تفسيرها على أنها قيم عشرية. يتم إنتاج قيم السلسلة كنص تعريف لـ
ديسمبر, divnum, زيادة, مؤشر, ليونو sysval يجب أن تكون وحدات الماكرو المضمنة على شكل أ
ثابت عشري كما هو محدد في لغة C.

com.changecomcom.changecom يجب أن يقوم الماكرو بتعيين سلاسل التعليق البداية والتعليق النهائي. مع عدم وجود
الوسائط، سيتم تعطيل آلية التعليق. مع واحد غير فارغة
الحجة، يجب أن تصبح هذه الحجة هي بداية التعليق و سوف
تصبح سلسلة التعليق النهائي. مع وسيطتين غير فارغة، الوسيطة الأولى
يجب أن تصبح سلسلة بداية التعليق ويجب أن تصبح الوسيطة الثانية هي
سلسلة التعليق النهائي. السلوك غير محدد إذا تم توفير أي من الوسيطتين
ولكن لاغية. يجب أن تدعم الأنظمة سلاسل التعليقات المكونة من خمسة أحرف على الأقل.

التغيير
التغيير يجب أن يقوم الماكرو بتعيين سلاسل اقتباس البداية والاقتباس النهائي. مع عدم وجود
الوسيطات، يجب تعيين سلاسل الاقتباس على القيم الافتراضية (أي `').
يكون السلوك غير محدد إذا كانت هناك وسيطة واحدة أو كانت إحدى الوسيطتين كذلك
باطل. مع وجود وسيطتين غير فارغتين، يجب أن تصبح الوسيطة الأولى هي البداية-
يجب أن تصبح سلسلة الاقتباس والوسيطة الثانية سلسلة الاقتباس النهائية. الأنظمة
يجب أن تدعم سلاسل الاقتباس المكونة من خمسة أحرف على الأقل.

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

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

ديفين النص التعريفي لل ديفين يجب أن يكون الماكرو هو التعريف المقتبس (باستخدام
سلاسل الاقتباس الحالية) من الوسائط الخاصة بها. السلوك غير محدد إذا ديفين
لا يتبعه على الفور أ .

تحويلm4 تحتفظ الأداة المساعدة بتسعة مخازن مؤقتة، مرقمة من 1 إلى 9، ضمنًا.
عند معالجة آخر المدخلات، يتم وضع أي مخرجات
في هذه المخازن المؤقتة يجب كتابتها إلى الإخراج القياسي بترتيب رقمي عازل.
تحويل يجب على الماكرو تحويل الإخراج المستقبلي إلى المخزن المؤقت المحدد بواسطة
دعوى. يجب أن يؤدي تحديد أي وسيطة أو وسيطة 0 إلى استئناف الوضع الطبيعي
عملية الإخراج. يجب أن يتم تحويل الإخراج إلى دفق برقم سالب
تم التخلص منها. يتم تحديد السلوك من خلال التنفيذ إذا كان رقم الدفق أكبر من 9
محدد. يجب أن يكون من الخطأ تحديد وسيطة تحتوي على أي غير
أحرف رقمية.

divnum النص التعريفي لل divnum يجب أن يكون الماكرو هو رقم الإخراج الحالي
تيار كسلسلة.

dnldnl يجب أن يسبب الماكرو m4 لتجاهل كافة أحرف الإدخال بما في ذلك
التالي .

com.dumpdefcom.dumpdef يجب على الماكرو كتابة النص المحدد لخطأ قياسي لكل من
وحدات الماكرو المحددة كوسيطات، أو للجميع إذا لم يتم تحديد وسيطات
وحدات الماكرو.

خطأخطأ يجب على الماكرو كتابة الوسائط الخاصة به إلى الخطأ القياسي. السلوك هو
غير محدد إذا خطأ لا يتبعه على الفور أ .

وحدة التقييموحدة التقييم يجب على الماكرو تقييم وسيطته الأولى كتعبير حسابي،
باستخدام حساب عدد صحيح موقّع بدقة 32 بت على الأقل. على الأقل
يجب دعم مشغلي لغة C التاليين، مع الأسبقية،
الارتباط والسلوك كما هو موضح في القسم 1.1.2.1, علم الحساب
دقة و عمليات:

()
أحادي +
أحادي -
~

!
الثنائية *
/
%
ثنائي +
ثنائي -
<<
>>
<
<=
>
>=
==
!=
الثنائية &
^
|
&&
||

يجب أن تدعم الأنظمة الأرقام الثمانية والست عشرية كما هو الحال في معيار ISO C.
الوسيطة الثانية، إذا تم تحديدها، يجب أن تحدد الجذر للنتيجة؛ إذا
الوسيطة فارغة أو غير محددة، والقيمة الافتراضية هي 10. والسلوك غير محدد إذا
يقع الجذر خارج النطاق من 2 إلى 36 ضمناً. الحجة الثالثة إذا
المحدد، يحدد الحد الأدنى لعدد الأرقام في النتيجة. السلوك هو
غير محدد إذا كانت الوسيطة الثالثة أقل من الصفر. فيكون خطأً
حدد الوسيطة الثانية أو الثالثة التي تحتوي على أي أحرف غير رقمية. ال
السلوك غير محدد إذا وحدة التقييم لا يتبعه على الفور أ
قوسين>.

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

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

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

زيادة النص التعريفي لل زيادة يجب أن يكون الماكرو هو الوسيطة الأولى التي تتم زيادتها بواسطة
1. سيكون من الخطأ تحديد وسيطة تحتوي على أي وسيطة غير رقمية
الشخصيات. السلوك غير محدد إذا زيادة لا يتبعه على الفور
أ .

مؤشر النص التعريفي لل مؤشر يجب أن يكون الماكرو هو موضع الحرف الأول (مثل a
string) في الوسيطة الأولى حيث تبدأ سلسلة مطابقة للوسيطة الثانية
(أصل صفري)، أو −1 إذا لم تحدث الوسيطة الثانية. السلوك هو
غير محدد إذا مؤشر لا يتبعه على الفور أ .

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

m4exit الخروج من m4 جدوى. إذا تم تحديد الوسيطة الأولى، فهي الخروج
شفرة. الافتراضي هو صفر. يجب أن يكون من الخطأ تحديد وسيطة
تحتوي على أي أحرف غير رقمية.

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

com.maketemp يجب أن يكون النص التعريفي هو الوسيطة الأولى، مع أي زائدة "X" الأحرف
تم استبداله بمعرف العملية الحالية كسلسلة. السلوك غير محدد
if com.maketemp لا يتبعه على الفور أ .

مكستيمه يجب أن تؤخذ الوسيطة الأولى كقالب لإنشاء ملف فارغ، مع
زائدة "X" تم استبدال الأحرف بأحرف من اسم الملف المحمول
مجموعة الأحرف. يكون السلوك غير محدد إذا لم تنتهي الوسيطة الأولى بـ
على الأقل ستة "X" الشخصيات. إذا تم إنشاء ملف مؤقت بنجاح، ثم
يجب أن يكون النص التعريفي للماكرو هو اسم الملف الجديد. معرف المستخدم
يجب تعيين الملف على معرف المستخدم الفعال للعملية. معرف المجموعة
يجب تعيين الملف على معرف المجموعة للدليل الأصلي للملف أو إلى
معرف المجموعة الفعال للعملية. يتم تعيين بتات إذن الوصول إلى الملف
بحيث يتمكن المالك فقط من قراءة الملف وكتابته، بغض النظر عن الملف
تيار Umask من العملية. إذا تعذر إنشاء ملف، فسيتم تحديد النص
يجب أن يكون الماكرو السلسلة الفارغة. السلوك غير محدد إذا مكستيمه
لا يتبعه على الفور أ .

com.popdefcom.popdef يجب على الماكرو حذف التعريف الحالي للوسائط الخاصة به، واستبداله
هذا التعريف مع السابق. إذا لم يكن هناك تعريف سابق، فإن
الماكرو غير محدد. السلوك غير محدد إذا com.popdef ليس على الفور
متبوعة ب .

com.pushdefcom.pushdef يجب أن يكون الماكرو معادلاً لـ حدد ماكرو مع الاستثناء
أنه يجب عليه الحفاظ على أي تعريف حالي لاسترجاعه في المستقبل باستخدام
com.popdef دقيق. السلوك غير محدد إذا com.pushdef لم يتم اتباعه على الفور
بواسطة أ .

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

يشمليشمل يجب أن يكون الماكرو معادلاً لـ تتضمن ماكرو، إلا أنه
لا ينبغي أن يكون خطأ إذا كان الملف غير قابل للوصول. السلوك غير محدد
if يشمل لا يتبعه على الفور أ .

SUBSTR النص التعريفي ل SUBSTR يجب أن يكون الماكرو السلسلة الفرعية للأول
تبدأ الوسيطة عند موضع حرف الإزاحة الصفري المحدد بواسطة الثانية
دعوى. يجب أن تكون الوسيطة الثالثة، إذا تم تحديدها، هي عدد الأحرف
يختار؛ إذا لم يتم تحديده، فإن الأحرف من نقطة البداية إلى النهاية
يجب أن تصبح الوسيطة الأولى النص المحدد. ولا يجوز أن يكون خطأ
حدد نقطة بداية تتجاوز نهاية الوسيطة الأولى والتعريف
يجب أن يكون النص فارغًا. يجب أن يكون من الخطأ تحديد وسيطة تحتوي على أي
أحرف غير رقمية السلوك غير محدد إذا SUBSTR ليس
يليه على الفور أ .

com.syscmdcom.syscmd يجب أن يفسر الماكرو وسيطته الأولى على أنها سطر أوامر Shell. ال
تعريف النص يجب أن يكون نتيجة السلسلة لهذا الأمر. نتيجة السلسلة
لا يجوز إعادة فحصها بحثًا عن وحدات الماكرو أثناء تعيين النص المحدد. لا يوجد إخراج
يجب أن تتم عملية إعادة التوجيه بواسطة m4 جدوى. قيمة حالة الخروج من
يمكن استرجاع الأمر باستخدام sysval دقيق. السلوك غير محدد إذا
com.syscmd لا يتبعه على الفور أ .

sysval النص التعريفي لل sysval يجب أن يكون الماكرو هو قيمة الخروج للأداة المساعدة
تم استدعاؤه مؤخرًا بواسطة com.syscmd ماكرو (كسلسلة).

تعقبتعقب يجب أن يقوم الماكرو بتمكين التتبع لوحدات الماكرو المحددة كوسائط،
أو، إذا لم يتم تحديد أي وسائط، لكافة وحدات الماكرو. يجب أن يكون إخراج التتبع
مكتوبة لخطأ قياسي في شكل غير محدد.

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

حرفي النص التعريفي لل حرفي يجب أن يكون الماكرو هو الوسيطة الأولى مع كل
تم استبدال الحرف الذي يحدث في الوسيطة الثانية بالحرف المقابل
شخصية من الوسيطة الثالثة. إذا لم يتم تحديد حرف بديل لـ
بعض أحرف المصدر لأن الوسيطة الثانية أطول من الثالثة
الوسيطة، يجب حذف هذا الحرف من الوسيطة الأولى في حرفي's
تعريف النص. السلوك غير محدد إذا كان "-" يظهر الحرف داخل
الوسيطة الثانية أو الثالثة في أي مكان بجانب الحرف الأول أو الأخير. ال
يكون السلوك غير محدد إذا ظهر نفس الحرف أكثر من مرة في
الحجة الثانية. السلوك غير محدد إذا حرفي ليس على الفور
متبوعة ب .

غير معروفغير معروف يجب على الماكرو حذف كافة التعريفات (بما في ذلك تلك المحفوظة باستخدام
ال com.pushdef الماكرو) من وحدات الماكرو المسماة بواسطة الوسائط الخاصة بها. السلوك هو
غير محدد إذا غير معروف لا يتبعه على الفور أ .

com.undivertcom.undivert يجب أن يتسبب الماكرو في إخراج فوري لأي نص في المخازن المؤقتة
يتم تسميتها كوسائط، أو جميع المخازن المؤقتة المؤقتة إذا لم يتم تحديد أي وسائط.
يمكن تحويل المخازن المؤقتة إلى مخازن مؤقتة أخرى. يجب عدم التحويل
تجاهل محتويات المخزن المؤقت المؤقت. السلوك غير محدد إذا كان
تحتوي الوسيطة على أية أحرف غير رقمية.

EXIT الوضع


يتم إرجاع قيم الخروج التالية:

0 إتمام بنجاح.

>0 حدث خطأ

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

عواقب OF أخطاء


افتراضي.

متابعيك أقسام . غنيا بالمعلومات.

تطبيق الاستعمال


ديفين الماكرو مفيد لإعادة تسمية وحدات الماكرو، وخاصة المضمنة.

منذ وحدة التقييم وفقًا لمعيار ISO C، فإن بعض العمليات لها سلوك غير محدد. في بعض
التنفيذ أو القسمة أو الباقي على صفر يسبب إشارة قاتلة حتى لو كانت القسمة
يحدث على فرع ماس كهربائى من "&&" or "||". أي عملية تفيض فيها
الحساب الموقع ينتج سلوكًا غير محدد. وبالمثل، باستخدام نقل المشغلين مع أ
مقدار التحول غير موجب وأصغر من الدقة غير محدد، كما هو
تحويل رقم سلبي إلى اليمين. تاريخيًا، لم يتم إطاعة جميع التطبيقات C-
قواعد أسبقية اللغة: "~" و "!" كانت أقل من '=='; '==' و '!=' لم تكن أقل
من "<"، و '|' لم يكن أقل من "^"; الاستخدام الليبرالي ل "()" يمكن أن يجبر المطلوب
الأسبقية حتى مع هذه التطبيقات غير المتوافقة. علاوة على ذلك، بعض التقليدية
تمت معالجة التنفيذ "^" كمشغل أسي، على الرغم من أن معظم التطبيقات
الآن استخدام "**" كامتداد لهذا الغرض.

عندما يتم تعريف الماكرو بشكل متكرر عبر com.pushdef الماكرو، ومن غير محدد ما إذا كان
ال حدد سوف يغير الماكرو التعريف الأحدث فقط (كما لو كان بواسطة com.popdef و
com.pushdef)، أو استبدل مجموعة التعريفات بأكملها بتعريف واحد (كما لو كان
by غير معروف و com.pushdef). تطبيق يرغب في سلوك معين ل حدد
الماكرو في هذه الحالة يمكن إعادة تعريفه وفقًا لذلك.

يجب أن تستخدم التطبيقات مكستيمه الماكرو بدلا من المتقادم com.maketemp ماكرو ل
إنشاء ملفات مؤقتة.

أمثلة


إذا كان الملف m4src يحتوي على الخطوط:

قيمنا of "فير" is "الإصدار".
ifdef("VER"، ``فير'' is تعريف إلى be الإصدار، VER is ليس مُعرف.)
إذا كان (فير، 1, ``فير'' is "فير".)
إذا كان (فير، 2, ``فير'' is "فير"., ``فير'' is ليس خفق
النهاية

ثم الأمر

m4 m4src

أو الأمر:

m4 -U VER m4src

ينتج الناتج:

قيمنا of VER is "الإصدار".
VER is ليس يعرف.

VER ليس 2.
النهاية

الامر:

m4 − د VER m4src

ينتج الناتج:

قيمنا of VER is "".
VER is تعريف إلى be .

VER ليس 2.
النهاية

الامر:

m4 − د الإصدار = 1 m4src

ينتج الناتج:

قيمنا of VER is "1".
VER is تعريف إلى be 1.
VER is 1.
VER is ليس 2.
النهاية

الامر:

m4 − د الإصدار = 2 m4src

ينتج الناتج:

قيمنا of VER is "2".
VER is تعريف إلى be 2.

فير هو 2.
النهاية

الأساس المنطقي


تمت معالجة السلوك التاريخي القائم على النظام V "${" في تعريف الماكرو باعتباره اثنين حرفيا
الشخصيات. ومع ذلك، تم ترك هذا التسلسل غير محدد حتى يمكن تقديم التطبيقات
ملحقات مثل "${11}" وهذا يعني المعلمة الموضعية الحادية عشرة. لا يزال من الممكن أن تكون وحدات الماكرو
محددة بالاستخدامات المناسبة للاقتباس المتداخل ليؤدي إلى حرفي "${" في الإخراج
بعد إعادة المسح، تتم إزالة علامات الاقتباس المتداخلة.

في مجلة حرفي تمت معالجة السلوك المدمج والتاريخي القائم على النظام V "-" كحرفي؛ جنو
السلوك يعامله على أنه نطاق. يسمح هذا الإصدار من المعيار بأي من السلوكين.

المستقبل اتجاهات


لا شيء.

استخدم m4posix عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

  • 1
    فيزر
    فيزر
    Phaser هو مفتوح سريع ومجاني وممتع
    مصدر إطار عمل لعبة HTML5 الذي يوفر
    عرض WebGL و Canvas عبر
    متصفحات الويب لسطح المكتب والجوال. ألعاب
    يمكن المشاركة ...
    تحميل Phaser
  • 2
    محرك VASSAL
    محرك VASSAL
    VASSAL هو محرك لعبة للإبداع
    النسخ الإلكترونية للسبورة التقليدية
    وألعاب الورق. يوفر الدعم ل
    عرض قطعة اللعبة والتفاعل ،
    و...
    قم بتنزيل محرك VASSAL
  • 3
    OpenPDF - شوكة iText
    OpenPDF - شوكة iText
    OpenPDF هي مكتبة جافا للإنشاء
    وتحرير ملفات PDF باستخدام LGPL و
    ترخيص MPL مفتوح المصدر. OpenPDF هو ملف
    LGPL / MPL وريث مفتوح المصدر لـ iText ،
    ا...
    قم بتنزيل OpenPDF - Fork of iText
  • 4
    ساجا جيس
    ساجا جيس
    SAGA - النظام الآلي
    التحليلات الجيولوجية - هو جغرافي
    برنامج نظام المعلومات (GIS) مع
    قدرات هائلة للبيانات الجغرافية
    المعالجة وآنا ...
    تنزيل SAGA GIS
  • 5
    Toolbox for Java / JTOpen
    Toolbox for Java / JTOpen
    يعد IBM Toolbox for Java / JTOpen ملف
    مكتبة من فئات Java التي تدعم
    العميل / الخادم وبرمجة الإنترنت
    نماذج لنظام يعمل بنظام التشغيل OS / 400 ،
    i5 / OS ، س ...
    تنزيل Toolbox for Java / JTOpen
  • 6
    D3.js
    D3.js
    D3.js (أو D3 للمستندات المستندة إلى البيانات)
    هي مكتبة جافا سكريبت تسمح لك
    لإنتاج بيانات ديناميكية وتفاعلية
    تصورات في متصفحات الويب. مع D3
    أنت...
    تنزيل D3.js
  • أكثر "

أوامر لينكس

Ad