العربية  

books micro

If you do not find what you're looking for, you can use more accurate words.

View more

وحدات المايكرو (Info)


يأخذ التحسين أثناء تطوير الشفرة باستخدام وحدات المايكرو أشكالاً مختلفة بلغات مختلفة.

في بعض اللغات الإجرائية مثلC وc++؛ تُنَفَذ وحدات المايكرو باستخدام الاستبدال الرمزي. في الوقت الحاضر؛ يمكن استخدام الوظائف المباشرة كنوع من الاستبدال الآمن في الكثير من الحالات. في كلتا الحالتين؛ يمكن أن يخضع هيكل الوظيفة المباشرة بعد ذلك إلى التحسينات الإضافية وقت الترجمة عن طريق البرنامج المُترجم مشتملاً على الطي الثابت الذي ربما ينقل بعض الحسابات إلى وقت الترجمة.

في العديد من لغات البرمجة الوظيفية؛ تُنًفذ وحدات المايكرو باستخدام الاستبدال في وقت التحليل لتحليل هياكل تركيب الجملة المجردة التي من المفترض أن تجعلها آمنة عند الاستخدام. منذ استخدام الترجمة الفورية في العديد من الحالات والتي تعتبر أحد الطرق لضمان إجراء هذه الحسابات أثناء وقت التحليل وتكون في بعض الأوقات هي الطريقة الوحيدة.

أنشأت لغة البرمجة ليسب "Lisp" هذا النمط من وحدات المايكرو والتي يطلق عليها "ليسب مثل وحدات المايكرو" ويمكن تحقيق ذلك التأثير باستخدام نموذج ميتابروجرامنج "metaprograming " في C++.

في كلا الحالتين يُنقل العمل إلى وقت التحليل. يكون الفرق بين وحدات المايكرو C في جانب واحد ووحدات المايكرو المشابهة للغة LISP ونموذج ميتابروجرامنج C++ في الجانب الأخر هي الأداة الأخيرة التي تسمح بإجراء الحسابات العشوائية في وقت الترجمة أو وقت التحليل، بينما لا يعمل توسيع وحدات المايكرو C على إجراء أي حساب والتي تعتمد على قدرة المُحسن على إجرائها، إضافة إلى ذلك؛ لا تدعم وحدات المايكرو C مباشرة عمليات الإعادة أو التكرار، لذا لا يتم إكمال دورة كاملة.

كما هو الحال في أي من عمليات التحسين؛ بالرغم من أنه يصعب غالبًا التنبؤ بالمكان التي ستعمل فيه تلك الأدوات بشكل أكثر كفاءة قبل إكمال المشروع.

Source: wikipedia.org