मैं एलपीसी 1114, एक छोटा एआरएम (वास्तव में कॉर्टेक्स) लक्ष्य के लिए संकलित करता हूं। राम रोम की तुलना में बहुत सीमित है। मैं नवीनतम सलाहकार (कोडबेन्चलाइट) जीसीसी कंपाइलर (जीसीसी 4.6.3) का उपयोग करता हूं। मेरे पास कुछ स्थिर वस्तुएं हैं जिन्हें मैं रोम में रखना चाहता हूं। जहां तक मैं नीचे कोड में ffx ऑब्जेक्ट को समझता हूं, उसे रोम (कोड) में समाप्त होना चाहिए, लेकिन इसके बजाय इसे डेटा में रखा गया है।मैं रोम में सी ++ कॉन्टेक्सप्रिप रखने के लिए जीसीसी कैसे प्राप्त कर सकता हूं?
class flop {
public:
int x;
constexpr flop(int x) : x(x){}
};
extern constexpr flop ffx(1);
मैं संकलक को पूर्व-गणना करने और इसे रोम में रखने के लिए कैसे संकलित कर सकता हूं?
या शायद मैं पूछना चाहिए:
- मैं किसी भी तरह जी ++ संकलक ffx के लिए ROMable डेटा उत्पन्न करने
- यदि हां, तो मेरी कोड इस
- यदि ऐसा है तो के लिए सही है, जो जी के लिए है उम्मीद कर सकते हैं ++ संस्करण इस समर्थित है (मैं 4.6 का उपयोग करें, शायद मैं 4.7 की आवश्यकता है?)
============================= ==========
यह बगजिला एंट्री c++/49673 इंगित करता है कि मेरा एक ज्ञात समस्या है, शायद जीसीसी 4.7 में तय है। दुर्भाग्य से मैं निर्मित मेन्टर/कोडसॉररी का उपयोग करना पसंद करता हूं, जो अभी भी 4.6.3 पर है। तो मुझे लगता है कि मैं उस समय के लिए अटक गया हूँ। :(
मुझे आर्किटेक्चर नहीं पता है, लेकिन यह * लिखने * * पढ़ने के लिए * स्मृति * लिखने की कोशिश करने के लिए ऑक्सीमोरोन नहीं लगता है? –
@ जॉन डीबलिंग: ऐसा लगता है, लेकिन आप गलत होंगे। छोटे प्रोसेसर के पास अक्सर आपके प्रोग्राम को रोम में फ्लैश करने का एक तरीका होता है। –
ऐसा कुछ भी नहीं है जो सी ++ मानक आपको देगा। हालांकि, आप यहां वर्णित अनुसार * स्कैटरलोडिंग * को आजमा सकते हैं: [स्मृति और कोड में डेटा ढूंढना (स्कैटरलोडिंग)] (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc। पूछे जाने वाले प्रश्न/ka3558.html)। HTH! – dirkgently