मेरे पास एक स्रोत फ़ाइल है जो मैं -E
और -P
विकल्पों का उपयोग करके प्रीप्रोसेस कर रहा हूं (VxWorks- आधारित एम्बेडेड प्लेटफ़ॉर्म के लिए जीसीसी 4.1.2 का उपयोग करके)। अन्य सभी विकल्प वैसे ही हैं जब मैं फ़ाइल संकलित करता हूं। ये विकल्प हैं:पहले प्रीप्रोसेस्ड फ़ाइल संकलित आउटपुट
-Wall
-march=pentium
-nostdinc
-O0
-fno-builtin
-fno-defer-pop
-g
-c
-o
साथ ही साथ सभी शामिल पथ। अब जब मैं इस प्रीप्रोसेस्ड फ़ाइल को संकलित करता हूं, तो जब मैं मूल को संकलित करता हूं तो परिणामस्वरूप ऑब्जेक्ट-फ़ाइल बहुत छोटी (लगभग 30%) होती है। और जब मैं प्रोग्राम को लिंक करता हूं, तो लिंकर गुम प्रतीकों (सभी उपयोगकर्ता-कोड में) के बारे में शिकायत करता है, जो मूल स्रोत फ़ाइल का उपयोग करते समय फिर से नहीं होता है। ये अंतर क्यों है? क्या यह काम करने का कोई तरीका है?
मैं नियम को संशोधित कर रहा हूं जो किसी भी चीज़ को हटाए बिना '-E'- और' -P'-flag को जोड़कर ऑब्जेक्ट-फ़ाइल बनाता है, इसलिए मुझे पूरा यकीन है कि मैं सही कंपाइलर का उपयोग कर रहा हूं और सभी को परिभाषित करता है –