"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني استخدام ملفات الذاكرة المعينة لمشاركة البيانات بين التطبيقات في Windows؟

كيف يمكنني استخدام ملفات الذاكرة المعينة لمشاركة البيانات بين التطبيقات في Windows؟

تم النشر بتاريخ 2024-11-05
تصفح:577

How can I use Memory Mapped Files to share data between applications in Windows?

مشاركة الذاكرة بين التطبيقات: دليل لملفات الذاكرة المعينة

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

تنفيذ ملفات الذاكرة المعينة

لتنفيذ تعيين الذاكرة بين تطبيقين، يمكنك استخدام ملفات الذاكرة المعينة (MMF). MMF هو كائن ذاكرة مشترك موجود في الذاكرة الفعلية للنظام ويمكن الوصول إليه من خلال عمليات متعددة. إليك كيفية استخدامه:

إنشاء ملف معين للذاكرة:

  • في لغة C، استخدم وظيفة CreateFileMapping() لإنشاء MMF جديد. حدد الحجم الأولي للملف وأذونات الوصول المطلوبة.
  • في C#، استخدم طريقة MemoryMappedFile.Create() لتحقيق نفس النتيجة. هنا، يمكنك تحديد اسم MMF بالإضافة إلى حجمه وأذونات الوصول.

تعيين ملف الذاكرة المعينة:

    استخدم وظيفة MapViewOfFile() في C أو طريقة MapViewOfFile() في C# لتعيين MMF في مساحة العنوان للعملية الخاصة بك.
  • يؤدي هذا إلى إرجاع مؤشر إلى منطقة الذاكرة المعينة، والتي يمكن استخدامها لقراءة أو كتابة البيانات.
كتابة وقراءة البيانات:

التطبيق الذي يكتب البيانات يمكنه الوصول مباشرة إلى منطقة الذاكرة المشتركة باستخدام المؤشر الذي تم الحصول عليه من MapViewOfFile().
  • يمكن للتطبيق الآخر قراءة البيانات المكتوبة عن طريق الوصول إلى نفس منطقة الذاكرة المشتركة باستخدام مؤشر.
إغلاق ملف الذاكرة المعينة:

لتحرير الذاكرة المعينة، اتصل بوظيفة UnmapViewOfFile() في لغة C أو Dispose( ) الطريقة في C#.
  • بمجرد إصدار كافة التعيينات، يمكن إغلاق MMF الأساسي باستخدام CloseHandle() في C أو Dispose() في C#.
الاستنتاج

توفر ملفات الذاكرة المعينة طريقة فعالة وسريعة لمشاركة البيانات بين التطبيقات في Windows. باتباع الخطوات الموضحة أعلاه، يمكنك بسهولة تنفيذ تعيين الذاكرة في تطبيقات C وC#. ارجع إلى المقالة المقدمة للحصول على مزيد من التفاصيل وأمثلة التعليمات البرمجية.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3