मुझे निम्न प्रोग्राम की लाइन 6 (my_foo को foo_init पर इनिशियलाइज़ करना) में एक त्रुटि मिलती है और मुझे यकीन नहीं है कि मुझे समझ में क्यों आता है।
typedef struct foo_t {
int a, b, c;
} foo_t;
const foo_t foo_init = { 1, 2, 3 };
foo_t my_foo = foo_init;
int main()
{
return 0;
}
ध्यान रखें कि यह एक बड़ी, मल्टी-फाइल प्रोजेक्ट का सरलीकृत संस्करण है, जिस पर मैं काम कर रहा हूं। लक्ष्य का उद्देश्य ऑब्जेक्ट फ़ाइल में एक स्थिर होना था, जो कि कई फाइलें राज्य संरचना को आरंभीकृत करने के लिए उपयोग कर सकती थीं। चूंकि यह सीमित संसाधनों के साथ एक एम्बेडेड लक्ष्य है और संरचना इतनी छोटी नहीं है, इसलिए मुझे स्रोत की कई प्रतियां नहीं चाहिए। मैं उपयोग नहीं करना पसंद करूंगा:
#define foo_init { 1, 2, 3 }
मैं पोर्टेबल कोड लिखने का भी प्रयास कर रहा हूं, इसलिए मुझे एक समाधान की आवश्यकता है जो कि C89 या C99 मान्य है।
यह एक वस्तु फ़ाइल में ORGs के साथ क्या करना है? वह आरंभिक चर एक ORG में जाता है और दूसरे ORG की सामग्री की नकल करके आरंभ किया जाता है?
हो सकता है कि मुझे बस अपनी रणनीति बदलने की ज़रूरत हो, और स्टार्टअप पर सभी कॉपियों को एक प्रारंभिक कार्य करना होगा। जब तक कि वहाँ अन्य विचार नहीं हैं?