कंपाइलर का आउटपुट ऑब्जेक्ट कोड क्यों कहलाता है?


13

पॉल ग्राहम द्वारा व्याख्या की गई निबंध प्रोग्रामिंग भाषाओं से , हैकर्स और पेंटर्स में प्रकाशित :

उच्च स्तरीय भाषा जो आप संकलक को खिलाते हैं, उसे स्रोत कोड के रूप में भी जाना जाता है , और मशीन भाषा अनुवाद जो इसे उत्पन्न करता है उसे ऑब्जेक्ट कोड कहा जाता है ।

ऑब्जेक्ट कोड पर विकिपीडिया लेख से :

ऑब्जेक्ट कोड, या कभी-कभी ऑब्जेक्ट मॉड्यूल, एक कंप्यूटर कंपाइलर का उत्पादन होता है।

से 'संकलक' की एक परिभाषा :

परंपरागत रूप से, संकलन के आउटपुट को ऑब्जेक्ट कोड या कभी-कभी ऑब्जेक्ट मॉड्यूल कहा जाता है। (ध्यान दें कि यहां "ऑब्जेक्ट" शब्द ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग से संबंधित नहीं है।)

तो क्या हुआ है अवधि से संबंधित वस्तु?


2
ध्यान दें कि एक संकलक को मशीन कोड उत्पन्न करने की आवश्यकता नहीं है। यह अमूर्त स्तर को कम करने के लिए प्रथागत है, अन्यथा इसे सामान्य रूप से अनुवादक कहा जाता है।

2
ऑब्जेक्ट कोड के बारे में एक दूसरे के साथ संवाद करने वाले पहले दो लोगों को यह नहीं पता था कि इसे क्या कहा जाए, इसलिए उन्होंने बहुत सामान्य शब्द अपनाया।
सेमाज

RetroComputing.SE में अच्छे लोग इस पर बेहतर जानकारी दे सकते हैं।
रोजर

जवाबों:


10

ऑब्जेक्ट कोड को कभी-कभी लक्ष्य कोड भी कहा जाता है , क्योंकि यह संकलक द्वारा निष्पादित अनुवाद प्रक्रिया का लक्ष्य परिणाम है। इसलिए "ऑब्जेक्ट कोड" का उपयोग "स्रोत कोड" के विपरीत किया जाता है।

संकलक दुनिया में अन्य अजीब नाम हैं: उदाहरण के लिए, आपके प्रोग्राम के बाइनरी कोड के साथ फाइल के सेगमेंट को अक्सर "टेक्स्ट सेगमेंट" कहा जाता है।


1
किसी भी विचार क्यों इसे "पाठ" कहा जाता है? जैसा कि ऐतिहासिक उत्पत्ति में है?
नील्सबोट

@nielsbot: मुझे लगता है कि यह "डेटा खंड" के विपरीत है जहां चर संग्रहीत किए जाते हैं, "पाठ खंड" में मूल रूप से (संकलन से पहले) पाठ होता है, अर्थात प्रोग्राम का कोड।
माइकल बोर्गवर्ड

8

यह "उद्देश्य" के रूप में वस्तु है। "वस्तु" के रूप में वस्तु नहीं।

"लक्ष्य कोड" कहे जाने के बारे में dasblinkenlight के उत्तर के समान। यह संकलक का लक्ष्य या उद्देश्य है।


1
यकीन नहीं होता कि मैं इससे सहमत हूं।
मार्टिन यॉर्क

1
मुझे इसमें कोई अचम्भा नहीं लगता। इसे हमेशा संकलक के उद्देश्य के संदर्भ में संदर्भित किया जाता है।
लॉर्ड टाइडस

हां, यह सही जवाब है। यह दर्शाता है कि यह एक वाक्य में कैसे काम करता है, जहां क्रिया संकलक ( कर्ता ) का प्रतिनिधित्व करती है , विषय स्रोत कोड है, और वस्तु उस क्रिया (संकलन) का लक्ष्य या परिणाम है। 4. "विषय कोड" स्रोत है (जो कि "विषय" के रूप में संकलन से गुजरता है), जबकि "ऑब्जेक्ट कोड" लक्ष्य (संकलन का "उद्देश्य") है।
बारबराक्वार्क

1

जब आप स्रोत कोड संकलित करते हैं तो ऑब्जेक्ट कोड उत्पन्न होता है। यह ऑब्जेक्ट कोड अभी तक निष्पादन योग्य नहीं है क्योंकि इसमें पुस्तकालयों को चलाने की आवश्यकता नहीं है। तो आप कई ऑब्जेक्ट कोड और लाइब्रेरी लिंक करते हैं और यह एक निष्पादन योग्य बन जाता है।

मेरी समझ में " वस्तु " उस स्रोत कोड को लिखकर आपके द्वारा विकसित "चीज़" से संबंधित है। यह एक मॉड्यूल, वर्ग, फ़ंक्शन या कुछ भी हो सकता है।


-1

वस्तु संहिता के अंतर्गत आता है वस्तु फ़ाइल

प्रारंभिक कंप्यूटर विज्ञान में ऑब्जेक्ट शब्द "उद्देश्य" (उर्फ "लक्ष्य") को संदर्भित नहीं करता है, बल्कि इसके बजाय वस्तुओं की एक संपत्ति को आसानी से पहचानने योग्य है, एक दूसरे से अलग। साधारण वस्तुओं को परिभाषित करना और उनके बारे में बात करना आसान है, क्योंकि उनकी सीमाएं हैं। कोहरे के विपरीत ...

वर्चुअल ऑब्जेक्ट डेटा के कंटेनर हैं।

ऐसा नहीं है कि आप बैठकर कुछ कोड लिखते हैं और यह किसी तरह ऑब्जेक्ट कोड है । नहीं, आप ELF, COFF, XCOFF (सामान्य ऑब्जेक्ट फ़ाइल स्वरूप) की रीड आवश्यकताओं को पूरा करते हैं और यदि आपका कोड इन आवश्यकताओं को फिट करता है तो यह ऑब्जेक्ट कोड बन जाता है जैसा कि आप कहते हैं।


-3

आम तौर पर छात्र निम्न स्तर की भाषा को समझते हैं या निम्न स्तर की भाषा में लिखे गए प्रोग्राम को "ऑब्जेक्ट कोड" कहते हैं। समझने के लिए एक मुद्दा है कि संकलक के आउटपुट को ऑब्जेक्ट कोड क्यों कहा जाता है। सामान्य रूप से आउटपुट को लक्ष्य कहा जाता है जो संकलक द्वारा संकलित किया जाता है। यह स्रोत कोड का उद्देश्य है। इसका अर्थ यह नहीं है कि वस्तु कोड निम्न स्तर का भाषा कार्यक्रम है। बस यह लक्ष्य उत्पन्न करता है इसलिए लक्ष्य स्रोत कोड के उद्देश्य और उद्देश्य से संबंधित होता है जो संकलक द्वारा संकलित किया जाता है और इसीलिए संकलक के आउटपुट को आम तौर पर "ऑब्जेक्ट कोड" कहा जाता है। क्योंकि कम भाषा संकलक द्वारा संकलित नहीं है। निम्न स्तर की भाषा में "असेंबलर" या "दुभाषिया" जैसे अनुवादक हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.