उदाहरण के लिए मेरे पास है जब:स्ट्रिंग अक्षर के लिए संकलित आउटपुट में .rodata और .rodata.str1.4 खंड के बीच क्या अंतर है?
const char mesg [] = "Hello World";
यह सीधे .rodata
में डाल दिया जाता है, लेकिन जब मेरे पास है:
const char* mesg = "Hello World";
यह .rodata.str1.4
में सीधे डाल दिया है क्या उन दोनों के बीच का अंतर है और जब हम सूचक का उपयोग करते हैं तो हम .rodata.str1.4 का उपयोग क्यों करते हैं?
क्या कंपाइलर, संस्करण और संकलन कमांड? –
क्लैंग 3.5 स्थानीय स्ट्रिंग अक्षरों के लिए '.rodata.str1.1' पर रखता है, ग्लोबल्स के लिए 'डेटा', इसलिए मैं काफी पुन: पेश नहीं करता हूं। –