में अस्थिर अर्थशास्त्र मुझे कुछ निम्न स्तर के कोड के साथ कोई समस्या है जो मुझे लिख रहा है, मुझे वस्तुओं को अस्थिर के रूप में उपयोग करने की आवश्यकता है, लेकिन यह आवश्यक नहीं है कि मैं प्रकारों को अस्थिर (पुन: प्रयोज्य कारणों के लिए) घोषित करना चाहता हूं। हालांकि, मैं निम्न खंड में विस्तृत रूप से संरचना के एक योग्य संस्करण में पॉइंटर को परिभाषित कर सकता हूं।सी 99
volatile struct x {
volatile int x;
};
के बाद से अस्थिर सभी struct सदस्यों के लिए लागू होते हैं:
struct x {
int bar;
};
struct x foobar;
...
volatile struct x *foo = &foobar;
अब foo प्रभावी ढंग से प्रकार का ऑब्जेक्ट के लिए सूचक है। अब मेरा सवाल यह है कि जब किसी ऑब्जेक्ट में किसी अन्य ऑब्जेक्ट में पॉइंटर होता है, तो अस्थिरता कैसे लागू होती है?
volatile struct x {
struct y * volatile bar;
};
या के रूप में:
struct x {
struct y *bar;
};
एक्स के एक अस्थिर उदाहरण के लिए सूचक तो तब के रूप में इस का इलाज करेंगे
volatile struct x {
volatile struct y * volatile bar;
};
मैं सी मानक के माध्यम से पढ़ा है, और यह इसके बारे में बहुत स्पष्ट नहीं है, और मैं आसानी से शब्द को कई तरीकों से व्याख्या कर सकता हूं।
http://www.netrino.com/node/80 उस विचार का समर्थन करने के लिए लगता है। मैंने कभी भी कमजोर नहीं पढ़ा है। अच्छी चीज़। – Kieveli
"अस्थिरता बहुत उपयोगी नहीं है": पीसी सॉफ़्टवेयर के बारे में नहीं जानते, लेकिन एम्बेडेड सिस्टम में, हार्डवेयर हार्डवेयर या चर घोषित करने के लिए वे आवश्यक हैं जिन्हें इंटरप्ट्स में बदला जा सकता है। –
बहुत अच्छा मुद्दा! मेरे आखिरी एम्बेडेड प्रोजेक्ट के बाद से कुछ सालों रहे हैं, इसलिए मैं इसे भूल गया। वैसे भी जो काम करता है क्योंकि यह लोड और स्टोर के लिए था। पीसी पर अधिकांश इंटरप्ट्स को भूलना आसान होता है क्योंकि वे ओएस एपीआई द्वारा दूर हो जाते हैं। –