एक सी/सी ++ लाइब्रेरी के साथ एकीकृत करते समय आईओएस में अजीब व्यवहार।आईओएस मूल पुस्तकालय में आवंटित स्मृति को हटा देता है
AppDelegate में मैं
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND,0), ^{
[[ABCService sharedInstance] abcInitialize];
});
abcInitialize फोन ग में परिभाषित किया गया है ++ पुस्तकालय
struct abc *top;
top = calloc(TYPE_SERV,size_of(struct abc));
top->us = server_alloc (...certain_params...);
सर्वर alloc अंदर मैं संरचनाओं struct1 और struct2 और फिर प्रारंभ समारोह मैं में की alloc करना
तक पहुंचने का प्रयास करें 210मैंने देखा है कि मेरी struct1 हमेशा रिक्त है
जब मैं डिबग, मैं देख सकता हूँ कि संरचना ठीक आवंटित किया गया था और मूल्यों उचित रूप में निर्धारित हैं, लेकिन समारोह से लौटने से पहले, स्मृति स्वचालित रूप से पुनः आवंटित की जाती है। यह पूरी तरह भ्रमित और परेशान है। क्या कोई मुझे यह समझने में मदद कर सकता है कि क्या हो रहा है?
मैं बंद एआरसी भी मोड़, अभी भी कोई बदलाव नहीं आया द्वारा की कोशिश की
आपको यह दिखाने की ज़रूरत है कि struct1 कैसे आवंटित किया जाता है और यह कैसे घोषित किया जाता है। – bbum
स्टक्ट 1 को कॉलोक (1, स्टक्ट 1_ आकार) के रूप में आवंटित किया जा रहा है; – blganesh101
मुझे लगता है कि आपको यह दिखाने की ज़रूरत है कि कैसे abc आरंभ करें: ऐसा लगता है। क्योंकि आपके वर्तमान कोड में आप 'शीर्ष' सूचक के लिए स्मृति आवंटित नहीं करते हैं लेकिन 'us' सदस्य (शीर्ष-> us = ...) को कुछ असाइन करते हैं। –