हाल ही में मैं कुछ निम्न स्तर के काम को डीबग करने का प्रयास कर रहा हूं और मुझे कंपाइलर (avr-gcc) के लिए crt0.S नहीं मिला, लेकिन मुझे एक crt1.S मिला (और इसी .o फाइलों के साथ ही)crt0.o और crt1.o - क्या अंतर है?
इन दो फ़ाइलों के बीच क्या अंतर है? क्या crt1 कुछ पूरी तरह से अलग है या क्या? दोनों को बूटस्ट्रैपिंग (स्टैक फ्रेम और इस तरह की स्थापना) के लिए कुछ करना पड़ता है, लेकिन भेद क्यों?
+1 http://lists.uclibc.org/pipermail/uclibc/2002- दिसम्बर/025943.html – stacker
ये रचनाकार/विनाशक वास्तव में क्या हैं? क्या यह सी ++ या किसी चीज़ से संबंधित है? मेरे जवाब में यह 'crtbeginT.o' और' crtend.o' के बिना काम करता है जो कि कन्स्ट्रक्टर और विनाशक हैं। –
मैंने इसे अपने उत्तर में लिखा था। यह सी ++ से संबंधित नहीं है (सीधे)। यह कार्य है जो मुख्य से पहले और कार्यक्रम के अंत के बाद बुलाया जाना चाहिए। यह ओएस से संबंधित है जिस पर प्रोग्राम चल रहा है। लेकिन मैं इस बारे में बताने वाला सबसे अच्छा व्यक्ति नहीं हूं (इस तरह के कार्यों को कभी नहीं लिखा, दूसरों ने इसे किया) और शायद यह इसके कुछ जवाब की योग्यता होगी। – kriss