निर्माण और संकलन में क्या अंतर है?


जवाबों:


34

संकलन एक निर्माण प्रक्रिया का हिस्सा है।

एक निर्माण प्रक्रिया में संकलन के अलावा परीक्षण, पैकेजिंग और अन्य गतिविधियां शामिल हो सकती हैं।


19

"बिल्डिंग" एक काफी सामान्य शब्द है, और यह किसी भी चीज को संदर्भित कर सकता है जो संपादन योग्य स्रोत सामग्री (स्रोत कोड, स्क्रिप्ट, कच्चे डेटा फ़ाइलें, आदि) से एक shippable सॉफ़्टवेयर उत्पाद पर जाने के लिए आवश्यक है। भवन निर्माण (और आमतौर पर) कई चरणों को शामिल करता है, जैसे कि पूर्व-प्रसंस्करण, संकलन, लिंक करना, डेटा फ़ाइलों को परिवर्तित करना, स्वचालित परीक्षण चलाना, पैकेजिंग, आदि।

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


9

ये शब्द अक्सर एक-दूसरे के लिए उपयोग किए जाते हैं, लेकिन मैं उन्हें निम्नलिखित तरीके से अलग करूंगा:

  • बिल्डिंग रिलीज के लिए एक आवेदन तैयार करते समय किया जाता है, जिसमें संकलन, पैकेजिंग, परीक्षण आदि शामिल हैं।
  • कंपाइलिंग किसी भी समय की जाती है कंपाइलर प्रोग्रामिंग लैंग्वेज कोड को मशीन कोड में ट्रांसलेट करने में शामिल होता है।

इस प्रकार, संकलन वास्तव में इमारत का एक सबसेट है।


1
"बिल्डिंग रिलीज़ के लिए एक आवेदन तैयार करते समय किया जाता है" - यह न बताएं कि निरंतर एकीकरण की भीड़;) या उस मामले के लिए स्वचालित बिल्ड के किसी भी अन्य शौकीन उपयोगकर्ता।

1
@ डायलेन: सहमत। निरंतर एकीकरण एक अनुप्रयोग के जीवनकाल में कई "बिल्ड" बनाता है। हालाँकि, इनमें से कोई भी या सभी बिल्ड का उपयोग सार्वजनिक रिलीज़ की तैयारी में किया जा सकता है। यह आपके निर्माण, परीक्षण और अनुमोदन प्रक्रियाओं पर निर्भर करता है।
बर्नार्ड

3
खैर, लगातार वितरण भीड़ के अनुसार, इनमें से प्रत्येक बिल्ड को रिलीज के लिए तैयार होना चाहिए। लेकिन अभ्यास कहता है अन्यथा, और आम तौर पर "बिल्ड" किसी भी उद्देश्य की सेवा कर सकता है जो कि सॉफ्टवेयर को चलाने और परीक्षण करने के लिए तैयार होने से सहायता प्राप्त है। उदाहरण के लिए, डिबग बनाता है। या जाँच कि आपके परिवर्तन 16 मिलियन परीक्षणों में से किसी को भी नहीं तोड़ते हैं।

2
@delnan - एक ऐसे निर्माण के बारे में जो इसके परीक्षणों को विफल करता है? निरंतर वितरण crowed के मानकों के अनुसार, यह एक है का निर्माण लेकिन नहीं जारी करने के लिए :) तैयार
Oded

2

संकलन संकलक द्वारा किया जाता है, निर्माण अधिक जटिल प्रक्रिया हो सकती है।

उदाहरण के लिए। सी ++ में एक परियोजना का निर्माण करने के लिए आपको प्रीप्रोसेसर (स्रोत फ़ाइलों के प्रीप्रोसेसिंग) की आवश्यकता होती है; संकलक (स्रोत फ़ाइलों का संकलन); लिंकर (निष्पादन योग्य में सब कुछ विलय करना - संकलित कोड, चिह्न, तार, अन्य संसाधन एक साथ)

इसलिए आम तौर पर संकलन एक भाषा में लिखी गई कोड को दूसरी भाषा में अनुवाद कर रहा है (जैसे। मशीन कोड)।

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