"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं विंडोज़ में एप्लिकेशन के बीच डेटा साझा करने के लिए मेमोरी मैप्ड फ़ाइलों का उपयोग कैसे कर सकता हूं?

मैं विंडोज़ में एप्लिकेशन के बीच डेटा साझा करने के लिए मेमोरी मैप्ड फ़ाइलों का उपयोग कैसे कर सकता हूं?

2024-11-05 को प्रकाशित
ब्राउज़ करें:611

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

इंटर-एप्लिकेशन मेमोरी शेयरिंग: मेमोरी मैप की गई फ़ाइलों के लिए एक गाइड

विंडोज सिस्टम पर कई एप्लिकेशन के साथ काम करते समय, यह अक्सर आवश्यक हो जाता है उनके बीच डेटा साझा करने के लिए। इसके लिए एक सामान्य दृष्टिकोण मेमोरी मैपिंग है, जो विभिन्न प्रक्रियाओं को मेमोरी के साझा क्षेत्रों तक पहुंचने की अनुमति देता है। आप मेमोरी मैप्ड फाइल्स (एमएमएफ) का उपयोग कर सकते हैं। एमएमएफ एक साझा मेमोरी ऑब्जेक्ट है जो सिस्टम की भौतिक मेमोरी में रहता है और इसे कई प्रक्रियाओं द्वारा एक्सेस किया जा सकता है। इसका उपयोग कैसे करें यहां बताया गया है:

एक मेमोरी मैप की गई फ़ाइल बनाएं:

C में, एक नया MMF बनाने के लिए CreateFileMapping() फ़ंक्शन का उपयोग करें। फ़ाइल का प्रारंभिक आकार और वांछित एक्सेस अनुमतियाँ निर्दिष्ट करें।

C# में, समान परिणाम प्राप्त करने के लिए MemoryMappedFile.Create() विधि का उपयोग करें। यहां, आप एमएमएफ के नाम के साथ-साथ इसके आकार और एक्सेस अनुमतियों को निर्दिष्ट कर सकते हैं।

  • मेमोरी मैप की गई फ़ाइल को मैप करें:
उपयोग करें MMF को आपकी प्रक्रिया के पता स्थान में मैप करने के लिए C में MapViewOfFile() फ़ंक्शन या C# में MapViewOfFile() विधि।

यह मैप किए गए मेमोरी क्षेत्र में एक पॉइंटर लौटाता है, जिसका उपयोग पढ़ने या करने के लिए किया जा सकता है। डेटा लिखें।

  • डेटा लिखें और पढ़ें:
डेटा लिखने वाला एप्लिकेशन सीधे MapViewOfFile से प्राप्त पॉइंटर का उपयोग करके साझा मेमोरी क्षेत्र तक पहुंच सकता है ().

अन्य एप्लिकेशन अपने पॉइंटर का उपयोग करके उसी साझा मेमोरी क्षेत्र तक पहुंच कर लिखित डेटा पढ़ सकता है।

  • मेमोरी मैप की गई फ़ाइल को बंद करना:
मैप की गई मेमोरी को रिलीज़ करने के लिए, C में UnmapViewOfFile() फ़ंक्शन या C# में Dispose() विधि को कॉल करें।

एक बार सभी मैपिंग जारी हो जाने के बाद, अंतर्निहित MMF को बंद किया जा सकता है C में CloseHandle() या C# में Dispose() का उपयोग करना। खिड़कियाँ। ऊपर बताए गए चरणों का पालन करके, आप अपने C और C# अनुप्रयोगों में मेमोरी मैपिंग को आसानी से कार्यान्वित कर सकते हैं। अधिक विवरण और कोड उदाहरणों के लिए दिए गए लेख को देखें।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3