मैं लिख रहा हूँ और एक स्मृति नक्शे से रजिस्टरों पढ़ने, इस तरह में इस्तेमाल किया सूचक:चेतावनी: प्रकार की 'शून्य *' अंकगणित
warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
:
//READ
return *((volatile uint32_t *) (map + offset));
//WRITE
*((volatile uint32_t *) (map + offset)) = value;
हालांकि संकलक मुझे इस तरह चेतावनी देता है
चेतावनियों को हटाने के लिए मैं अपना कोड कैसे बदल सकता हूं? मैं सी ++ और लिनक्स का उपयोग कर रहा हूँ।
डाली - यह सोचते हैं आप चाहते हैं * बाइट * ऑफसेट: आप इस के लिए
uint8_t
उपयोग कर सकते हैं। क्या आप? –हां यह सही नक्शा शून्य है *, धन्यवाद। – user1876942
आपको एक प्रकार के आकार के लिए 'पॉइंटर' को पॉइंटर पर डालना होगा। आकार 1 के मानक के द्वारा गारंटीकृत एकमात्र प्रकार 'char' है, इसलिए आपको इसे 'char *' पर डालना होगा। –