मैं एक मेक्स फ़ाइल लिखने वाला हूं, इसलिए मैं MATLAB में अपने सी ++ कोड का उपयोग कर सकता हूं।सी ++/MATLAB मेक्स बाध्यकारी
यह कोड एक सिंगलटन कक्षा (सी ++ में) के आसपास बनाया गया है।
मैंने पढ़ा है कि स्मृति लगातार बने रहने के लिए मुझे malloc/new के MxAlloc isntead का उपयोग करना है, क्या यह सभी स्मृति के लिए यह सच है? यानी, कक्षा मैंने वैक्टर का उपयोग किया है, और वेक्टर मानक तंत्र का उपयोग कर स्वचालित रूप से नई मेमोरी आवंटित करते हैं।
तो क्या एमएक्सएलोक का उपयोग करके आवंटित कक्षा में एक वेक्टर में इसकी याददाश्त रखने में परेशानी होगी?
महान प्रश्न - इस मुद्दे को दस्तावेज़ीकरण में बहुत अच्छी तरह से समझाया नहीं गया है। मैंने लोगों के बारे में सुना है कि पूरी पुस्तकालयों को फिर से लिखना है कि उन्हें मेक्स-संगत बनाने के लिए प्रत्येक मेमोरी कॉल को बदलने की जरूरत है। –
धन्यवाद! पुनर्लेखन वही है जो मैं बचाना चाहता था क्योंकि लाइब्रेरी अभी भी विकसित हो रही है और इसके परिणामस्वरूप मुझे लाइब्रेरी के दो उदाहरण होंगे, एक सी/सी ++ काम के लिए और एक MATLAB प्रोटोटाइप के लिए। –
हालांकि ध्यान रखें, कि आगे की सूक्ष्मताएं हैं जिन्हें मैं पूरी तरह से सुनिश्चित नहीं करता हूं। उदाहरण के लिए, यदि मैक्स फ़ाइल बाधित है (उदा। त्रुटि के माध्यम से), मानक सी विधियों के माध्यम से आवंटित स्मृति * ठीक से हटाया नहीं जा सकता है ... इस बिंदु पर लोगों के बारे में जानकारी की सराहना की जाएगी! –