وصف أساليب برمجة متعددة مؤشرات الترابط

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

108433
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
يوضح نموذج MTDLL عدة تقنيات والمفاهيم المتعلقة بالبرمجة متعددة مؤشرات الترابط في Win32. يستخدم النموذج متعددة مؤشرات ترابط مكتبة الارتباط الحيوي (DLL) لتطبيق ستة خوارزميات الفرز. يسمى DLL في مكتبات فئة Foundation لـ Microsoft "(MFC) التطبيق الذي يستخدم مربع حوار الإطار الرئيسي. خوارزميات الفرز ستة تطبيق يتم فرز الفقاعة أو فرزها Exchange أو فرز كومة الإدراج الفرز Shell الفرز السريع وفرزها.

ملاحظة لقد تم إنشاء نموذج التعليمة البرمجية باستخدام Visual C++ ، الإصدار 2.0. إذا كنت تستخدم إصدارات الإصدار 4.0 أو الإصدار الأحدث, تحتاج إلى تحويل ملفات المشروع إلى المشاريع Studio المطور. للقيام بذلك، افتح مساحة عمل تعيين ملف SORTDEMO.MAK و SORTDLL.MAK. يظهر مربع رسالة تطالبك اسم المشروع كما يحدث تحويل لك. لا يمكن تحويل Visual C++ 5.0 و 6.0 في Sortdll.mak. يتم إنشاء مشروع مجمّع makefile بدلاً من ذلك.

الملفات التالية غير متوفرة للتنزيل من "مركز التنزيل لـ Microsoft":
DownloadDownload the Mtdll.exe package now.لمزيد من المعلومات حول كيفية تنزيل ملفات دعم Microsoft "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
119591كيفية الحصول على ملفات دعم Microsoft من الخدمات عبر إنترنت
قامت Microsoft بفحص هذا الملف بحثًا عن الفيروسات. استخدام Microsoft أحدث من برنامج كشف الفيروس المتوفر على التاريخ الذي تم نشر الملف. يتم تخزين الملف على ملقمات محسنة الأمان التي تساعد على منع إجراء أية تغييرات غير مصرح به إلى الملف.
معلومات أخرى
بعض المفاهيم ذات مؤشرات ترابط والتقنيات موضحة بواسطة العينة:
  • مشروط باستخدام __declspec(dllexport) و __declspec(dllimport) على النماذج الأولية الدالة الموجودة في ملف رأس المضمن في كل من DLL تطبيق الاستدعاء.
  • باستخدام __declspec(thread) تخصيص البيانات المحلي لمؤشر الترابط.
  • استخدام كائن مقطع حرج للتحكم في الوصول إلى العرض.
  • إنهاء معالجة مؤشر ترابط التنفيذ حالياً.
  • باستخدام _beginthread() و _endthread() لمعالجة إنشاء مؤشر ترابط "و" إنهاء ".
الملف التنفيذي استدعاء DLL الفرز في هذا النموذج أيضاً استخدام استيراد المتبادلة. أي، الملف التنفيذي يستدعي إجراءات يتم تصدير من DLL, ومن DLL باستدعاء إجراءات يتم تصدير من الملف القابل للتنفيذ. يتضمن النموذج مكتبات الاستيراد المطلوبة لإنشاء كل من DLL و للتنفيذ الاستدعاء. ومع ذلك، إذا تم تعديل النموذج يتم تصدير دالات إضافية من كل من الملف التنفيذي أو DLL استيراد المتبادلة قد جعلها المستحيل إنشاء DLL أو الملف القابل للتنفيذ ، لأنه يجب بناء أحد قبل الآخر. يمكن أن يكون هذا الموقف العمل حول باستخدام الأداة المساعدة LIB مع الخيار /DEF لإنشاء إحدى المكتبات استيراد من ملف .DEF رابط. تتم مناقشة هذه التقنية في الفصل 4 دليل "برمجة أساليب" "و" الفصل 3 من "إنشاء أدوات مستخدم دليل" تم توفيره مع Visual C++ لـ Windows NT.

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

يستخدم هذا النموذج أيضاً CTL3D32.DLL لتنفيذ منظراً ثلاثي الأبعاد لعناصر تحكم مربع الحوار الخاص به. للحصول على CTL3D32.DLL للعمل على الرغم من ذلك، فإنه يجب نسخ من دليل DLL متعددة مؤشرات الترابط على نموذج إلى SYSTEM32 Windows NT دليل فرعي على سبيل المثال C:\WINNT\SYSTEM32. بعد نسخ DLL ، يجب حذف من دليل نموذج DLL ذات مؤشرات الترابط المتعددة. إذا كانت CTL3D32.DLL لا نسخ إلى الدليل \WINNT\SYSTEM32 حذف من DLL ذات مؤشرات ترابط سيتم عرض دليل نموذج مربع رسالة مع الخطأ التالي عند تشغيل النموذج:
يستخدم هذا التطبيق CTL3D32.DLL لم يتم تثبيتها بشكل صحيح.
بعد اختيار "موافق" لإغلاق مربع الرسالة "، يتم عرض مربع الحوار الرئيسي العينة ولكن يستخدم خلفية بيضاء وسيتم بلا عناصر تحكم مربعات الحوار ثلاثي الأبعاد.

قد تتلقى خطأ رابط من النوع:
خطأ LNK2001: unresolved _Ctl3dxxxxxxxx رمز الخارجية
وهذا يعني أن الملف Ctl3d32.lib غير إحدى الوحدات النمطية المكتبة التي تم تمريرها إلى رابط. تحديد هذه المكتبة في "الوحدات النمطية كائن/مكتبة:" المربع على الصفحة الخاصية "ارتباط" في مربع الحوار "إعدادات المشروع".

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 108433 - آخر مراجعة: 01/10/2015 10:55:41 - المراجعة: 4.0

  • The C Run-Time (CRT)
  • kbnosurvey kbarchive kbmt kbdownload kberrmsg kbfile KB108433 KbMtar
تعليقات