Wikipedia पर बीएसएस आकार निर्धारित करना उल्लेख करता है कि "बीएसएस अनुभाग में आमतौर पर फ़ाइल स्कोप पर घोषित सभी अनियमित चर शामिल हैं।" निम्न फ़ाइल को देखते हुए:ऑब्जेक्ट फ़ाइल
int uninit;
int main() {
uninit = 1;
return 0;
}
जब मैं एक निष्पादन मैं देख रहा हूँ बीएसएस खंड ठीक से भरा करने के लिए इस संकलन:
$ gcc prog1.c -o prog1
$ size prog1
text data bss dec hex filename
1115 552 8 1675 68b prog1
लेकिन अगर मैं एक वस्तु फ़ाइल के रूप में संकलित मैं बीएसएस नहीं दिख रहा है सेगमेंट (मुझे उम्मीद है कि यह 4 हो जाएगा):
$ gcc -c prog1.c
$ size prog1.o
text data bss dec hex filename
72 0 0 72 48 prog1.o
क्या कुछ स्पष्ट है कि मुझे याद आ रही है?
मैं जीसीसी संस्करण 4.8.1 का उपयोग कर रहा हूं।
+1 बहुत अच्छा प्रश्न है। –
'शून्य मुख्य()'? फिर भी? – Jens
हाँ, सुनिश्चित नहीं है कि मुझे यह लिखने के लिए क्या प्रेरित किया गया। तय की। –