أو للحماية الآمنة من مشكلات الماكرو المتداخلة: وهذا هو ما تم تجميعه: استخدم للجمع بين معلمات الماكرو في رمز مميز واحد (اسم متغير الرمز المميز، إلخ) ولترتيب معلمة ماكرو (مفيدة جدا عند إجراء التفكير في سيسي) استخدم البادئة لوحدات الماكرو الخاصة بك، لأنها كلها في نفس مساحة الاسم وكنت لا تريد الاصطدامات مع أي رمز آخر. (اخترت ملف استنادا إلى اسم المستخدم الخاص بك) وحدات الماكرو المجمع مساعدة إذا كنت عش وحدات الماكرو، أي استدعاء ملفجيت من ماكرو آخر مع غيرها من المعلمات مارجدسترينجيزد (وفقا للتعليق أدناه، وذلك بفضل). أجاب أبريل 30 09 في 12: 02I نختلف، كريش. قبل lambda39s، فوريش كان شيئا سيئة، لأن رمز كل عنصر كان رونيغ من خلال لم يكن المحلية إلى نقطة الاتصال. foreach. (وأوصي بشدة بوستفوريتش بدلا من الحل المدرفلة يدويا) let39s يمكنك الاحتفاظ رمز قريب من موقع التكرار، مما يجعلها أكثر قابلية للقراءة. ومع ذلك، وبمجرد طرح lambda39s، قد يكون فوريش مرة أخرى الطريق للذهاب. ندش غمانيكغ أغسطس 18 09 في 23:50 رأس ملف غواردز نيدسيت وحدات الماكرو. هل هناك أي مجالات أخرى تستلزم وحدات الماكرو ليس الكثير (إن وجد). هل هناك أي حالات أخرى تستفيد من وحدات الماكرو نعم. مكان واحد يمكنني استخدام وحدات الماكرو هو مع رمز المتكررة جدا. على سبيل المثال، عند تغليف كود C ليتم استخدامه مع واجهات أخرى (كوم، بيثون، إلخ)، أحتاج إلى التقاط أنواع مختلفة من الاستثناءات. هيريس كيف أفعل ذلك: لا بد لي من وضع هذه المصيد في كل وظيفة المجمع. بدلا من كتابة كتل الصيد كاملة في كل مرة، أنا فقط اكتب: هذا أيضا يجعل الصيانة أسهل. إذا كان من أي وقت مضى لإضافة نوع استثناء جديد، ثيريس مكان واحد فقط أحتاج إلى إضافته. هناك أمثلة أخرى مفيدة أيضا: العديد منها تشمل وحدات الماكرو فيل و لين المعالج. على أي حال، وحدات الماكرو مفيدة جدا عند استخدامها بشكل صحيح. وحدات الماكرو ليست شر - إساءة استخدامها هو الشر. دعونا نقول جيدا تجاهل الأشياء واضحة مثل حراس الرأس. في بعض الأحيان، تريد إنشاء التعليمات البرمجية التي تحتاج إلى كوبيباستد بواسطة بريكومبيلر: والتي تمكنك من رمز هذا: ويمكن إنشاء رسائل مثل: لاحظ أن خلط القوالب مع وحدات الماكرو يمكن أن يؤدي إلى نتائج أفضل (أي توليد تلقائيا القيم من جانب - side مع أسماء المتغيرات الخاصة بهم) مرات أخرى، تحتاج إلى ملف أندور خط بعض التعليمات البرمجية، لإنشاء معلومات تصحيح الأخطاء، على سبيل المثال. ما يلي هو كلاسيكي ل فيسوال C: كما هو الحال مع التعليمات البرمجية التالية: أنه يولد رسائل مثل: أوقات أخرى، تحتاج إلى إنشاء التعليمات البرمجية باستخدام مشغلي و كونكاتناتيون، مثل توليد الحائزين و سيترز للعقار (وهذا هو لحالات محدودة جدا ، عبر). مرات أخرى، سوف تولد رمز من متعود تجميع إذا ما استخدمت من خلال وظيفة، مثل: والتي يمكن استخدامها كما (لا يزال، رأيت فقط هذا النوع من التعليمات البرمجية المستخدمة بحق مرة واحدة) وأخيرا وليس آخرا، دفعة الشهيرة :: فوريتش. (ملاحظة: كود كوبيباستد من الصفحة الرئيسية دفعة) وهو (إمهو) طريقة أفضل من ستد :: فوريتش. لذلك، وحدات الماكرو هي دائما مفيدة لأنها خارج قواعد المترجم العادي. ولكن أجد أن معظم الوقت أرى واحدة، فهي بقايا فعلية من رمز C لم تترجم إلى السليم C. حتى مع C11، والكثير من ما الماكرو الخاص بك يمكن أن تترك لدالة القيام به: وتشمل لتسستريمغت لتيوستريامجت باستخدام مساحة الاسم ستارد فواد تريس (تشار كونست فيل، إنت لين، أوستريم أمب o) ستروكت أوس تعرف تريس (أوستريمستوف) تريس (فيل، لين، أوس () لفال () لتلتوسترامستوف) إنت مين () بهذه الطريقة، الماكرو هو أقصر طريقة. نداش راينر بلوم 29 أبريل في 13:28 في عملي الأخير، كنت أعمل على الماسح الضوئي الفيروس. لجعل الشيء أسهل بالنسبة لي لتصحيح، كان الكثير من قطع التسجيل عالقة في كل مكان، ولكن في التطبيق ارتفاع الطلب من هذا القبيل، فإن حساب مكالمة وظيفة مكلفة للغاية. لذلك، جئت مع هذا الماكرو الصغير، الذي لا يزال يسمح لي لتمكين تسجيل التصحيح على إصدار الإصدار في موقع العملاء، دون تكلفة مكالمة وظيفة سوف تحقق العلم التصحيح والعودة فقط دون تسجيل أي شيء، أو إذا تمكين ، القيام بتسجيل الأشجار. تم تعريف الماكرو كما يلي: بسبب فارغس في وظائف السجل، كان هذا حالة جيدة ل ماكرو مثل هذا. قبل ذلك، كنت تستخدم ماكرو في تطبيق أمان مشددة التي تحتاج إلى إخبار المستخدم بأنهم لم يحصلوا على الوصول الصحيح، وأنها سوف اقول لهم ما العلم التي يحتاجونها. الماكرو (ق) التي تم تعريفها على النحو التالي: ثم، يمكننا فقط رش الشيكات في جميع أنحاء واجهة المستخدم، وسوف اقول لكم أي الأدوار سمح لتنفيذ الإجراء الذي حاولت القيام به، إذا لم يكن لديك بالفعل هذا الدور. وكان السبب في اثنين منهم هو إعادة قيمة في بعض الأماكن، والعودة من وظيفة باطلة في الآخرين. على أي حال، هذا كيف كيف استخدمت لهم، و إم غير متأكد كيف يمكن أن يكون قد ساعدت مع القوالب. بخلاف ذلك، أحاول تجنبها، ما لم يكن ذلك ضروريا حقا. بعد وحدات الماكرو فوريش أخرى. T: تايب، c: كونتينر، i: إيتيراتور الاستخدام (مفهوم العرض، ليس حقيقيا): تطبيقات أفضل متوفرة: غوغل بوستفوريتش ربما يكون استخدام جرادات وحدات الماكرو في تطوير مستقل للمنصة. التفكير في حالات عدم الاتساق نوع - مع وحدات الماكرو، يمكنك ببساطة استخدام ملفات رأس مختلفة - مثل: --WINTYPES. H أكثر قابلية للقراءة من تنفيذها بطرق أخرى، لرأيي. يمكنني استخدام وحدات الماكرو لتحديد الاستثناءات بسهولة: حيث ديفكسسيبتيون يبدو أن يتم عرض فارجس فقط بشكل غير مباشر حتى الآن: عند كتابة كود C03 عام، وتحتاج إلى عدد متغير من المعلمات (عام)، يمكنك استخدام ماكرو بدلا من قالب. ملاحظة: بشكل عام، يمكن أيضا تضمين التحقق من الاسم في وظيفة افتراضية جيتوبوبرومنام. هذا مجرد مثال. قد يكون هناك رمز عام آخر تحيط مكالمة فارجس. مرة واحدة نحصل على قوالب فارياديك مع C11، يمكننا حل هذه بشكل صحيح مع قالب. وأعتقد أن هذه الخدعة هي استخدام ذكي من المعالج الذي لا يمكن محاكاة مع وظيفة: ثم يمكنك استخدامه مثل هذا: يمكنك أيضا تعريف ماكرو ريليسونلي. هذه الخدعة لا تعمل وفقا للمعيار. يحاول إنشاء علامة تعليق من خلال المعالج، ولكن التعليقات التي ستتم إزالتها قبل تشغيل المعالج. سيؤدي مترجم المطابقة إلى حدوث خطأ في البنية هنا. نداش ديفيد ثورنلي أوكت 23 08 في 19:20 آسف ديفيد ولكن يجب أن تحتوي على مترجم نسخة ثانية من إزالة التعليق. نداش جوشوا أغسطس 13 09 في 20:16 أسهل بكثير هو جعل العلم التصحيح بول كونست العالمي، واستخدام التعليمات البرمجية مثل هذا: إذا (تصحيح) كوت كوت لتت كوت. كوت - لا حاجة لوحدات الماكرو نداش ستيفان مونوف 17 يناير 10 في 16:51
No comments:
Post a Comment