का उपयोग कब करेंगे, इसलिए, मैं समझता हूं कि अगर आपको कुछ गतिशील आवंटित स्मृति की आवश्यकता है, तो आप malloc() का उपयोग कर सकते हैं। उदाहरण के लिए, आपका प्रोग्राम एक परिवर्तनीय लंबाई फ़ाइल को char [] में पढ़ता है। आप पहले से नहीं जानते कि आपकी सरणी कितनी बड़ी है, इसलिए आप रनटाइम में मेमोरी आवंटित करते हैं।आप mmap
मैं समझने की कोशिश कर रहा हूं कि आप mmap() का उपयोग कब करेंगे। मैंने मैन पेज पढ़ा है और ईमानदार होने के लिए, मुझे समझ में नहीं आता कि उपयोग का मामला क्या है।
क्या कोई साधारण शब्दों में मुझे उपयोग के मामले की व्याख्या कर सकता है? अग्रिम में धन्यवाद।
क्या आपके पास केवल एक छोटी सी मात्रा के साथ बड़ी फ़ाइल तक पहुंचने के तरीके के बारे में अधिक जानकारी के साथ एक लिंक है? यह बिंदु मुझे mmap() काम करता है जिस तरह से भ्रमित करता है ... – Ioan
@Ioan बड़ी फ़ाइलों के लिए वास्तव में कोई विवरण नहीं है: आप बस उन्हें 'mmap''। फ़ाइल को निश्चित रूप से _virtual_ मेमोरी में फिट होना होगा, लेकिन पूरे वर्चुअल मेमोरी को किसी भी समय रैम में उपस्थित होने की आवश्यकता नहीं है। 'mmap' स्वैप स्पेस के समान तंत्र का उपयोग करता है। लेकिन एक विवेकपूर्ण स्मृति काम कैसे करता है इसका एक स्पष्टीकरण टिप्पणी के लिए थोड़ा लंबा होगा :) –
आपकी टिप्पणी अधिक समझ में आता है। मैंने उपलब्ध स्मृति से बड़ी फ़ाइलों को संसाधित करने के बारे में क्या समझा था, उसे गलत समझा। – Ioan