मैं मुख्य रूप से लोकप्रिय और व्यापक रूप से उपयोग किए गए कंपाइलर, जैसे जीसीसी में रूचि रखता हूं। लेकिन अगर विभिन्न कंपेलरों के साथ चीजें अलग-अलग होती हैं, तो मैं भी यह जानना चाहूंगा।क्या प्रोग्रामिंग भाषा कंपाइलर्स पहले असेंबली या सीधे मशीन कोड में अनुवाद करते हैं?
एक उदाहरण के रूप जीसीसी ले रहा है, यह सीधे करने के लिए मशीन कोड एक छोटी सी में लिखे प्रोग्राम संकलित करता है, या यह पहली बार मानव पठनीय विधानसभा में अनुवाद करता है, और उसके बाद ही एक (में निर्मित?) कोडांतरक का उपयोग करता है असेंबली कार्यक्रम का अनुवाद बाइनरी में करने के लिए, मशीन कोड - सीपीयू के लिए निर्देशों की एक श्रृंखला?
बाइनरी निष्पादन योग्य एक महत्वपूर्ण महंगी ऑपरेशन बनाने के लिए असेंबली कोड का उपयोग कर रहा है? या यह एक अपेक्षाकृत सरल और त्वरित चीज है?
(मान लेते हैं हम प्रोसेसर की केवल 86 परिवार के साथ काम कर रहे हैं, और सभी कार्यक्रमों लिनक्स के लिए लिखा जाता है।)
मैं किसी भी मदद के लिए बहुत आभारी होगा और इस मामले पर सोचा। धन्यवाद!
कुछ ऐतिहासिक कंपाइलर सीधे एक्जिक्यूटिव का उत्पादन करते थे। कुछ संकलन के दौरान एक ही पास में निष्पादन योग्य .COM फ़ाइल भी लिख सकते हैं [प्रत्येक प्रक्रिया के लिए कोड के बाद, संकलक पिछली प्रक्रिया की पैच-पॉइंट सूची के पते के साथ उस प्रक्रिया के भीतर पैच-पॉइंट की एक सूची आउटपुट कर सकता है; कोड लोड होने पर स्टार्टअप कोड सभी आवश्यक पैच बना सकता है]। फ्लॉपी डिस्क का उपयोग करते समय भी, यह बहुत ही कम स्मृति पदचिह्न में तेजी से संकलन संभव बनाता है। – supercat