2009-11-22 28 views

उत्तर

11

यह जो कह रहा है वह कर रहा है: यह मशीन कोड उत्पन्न कर रहा है। कई कंपाइलर कुछ इंटरमीडिएट आंतरिक प्रतिनिधित्व में सी/सी ++ स्रोतों का अनुवाद करते हैं जिन्हें बाद में वास्तविक मशीन कोड उत्पन्न करने के लिए स्रोत के रूप में उपयोग किया जाता है। विजुअल सी ++ कंपाइलर (कई अन्य कंपाइलर्स) यह बैचों में करता है: पहले यह स्रोत फ़ाइलों का एक गुच्छा उस मध्यवर्ती प्रतिनिधित्व में अनुवाद करता है और फिर उन्हें सभी मशीन कोड में परिवर्तित करता है (और फिर अगले बैच पर काम करना शुरू कर देता है)। यह तब होता है जब आप "जनरेटिंग कोड" संदेश देखते हैं।

मुझे नहीं पता कि यह स्रोत फ़ाइलों को बैच में विभाजित करने के लिए वास्तव में किस तर्क का उपयोग कर रहा है। हो सकता है कि यह केवल आकार के अनुसार काम करता है: एक बार अब तक उत्पन्न सभी इंटरमीडिएट प्रस्तुतियों का कुल आकार कुछ सीमा तक पहुंच जाता है, यह "कोड उत्पन्न करने" मोड में स्विच करता है। हो सकता है कि वहां काम पर कुछ और तर्क भी हो।

किसी भी मामले में ध्यान दें कि इस मामले में अयोग्य शब्द "कोड" स्रोत कोड का संदर्भ नहीं देता है, जिसका अर्थ है कि इसका टेम्पलेट्स और/या प्रीप्रोसेसर या उसके जैसा कुछ भी नहीं है। इसके अलावा, अयोग्य "कोड" के साथ सी स्रोतों का जिक्र करते हुए (योग्य "स्रोत कोड" के विपरीत) वास्तविक प्रोग्रामर की तुलना में विपणन विभाग के साथ घर पर एक बहुत ही विशिष्ट बात है। प्रोग्रामर के स्तर पर कोई भी सी स्रोतों को केवल "कोड" के रूप में संदर्भित नहीं करता है :)

+0

अच्छा भेद, मैं इस नए समाधान में आश्चर्यचकित होना शुरू कर रहा था कि मैं इस बात पर काम कर रहा हूं कि इतनी कोड जनरेशन क्यों हो रही है, _source code generation_ मैंने गलती से माना। – jxramos

-2

विजुअल स्टूडियो लिंकर का आविष्कार कर रहा है LINK.exe यह मुख्य रूप से इनपुट के रूप में ऑब्जेक्ट फ़ाइलों के साथ काम करता है, आउटपुट के रूप में निष्पादन योग्य बनाने के लिए, लेकिन इन और संबंधित फ़ाइलों से संबंधित अन्य कार्यों में भी सक्षम है। Linker Command-Line Syntax @ MSDN

+1

मुझे इस मामले में ऐसा नहीं लगता है, मेड स्रोत के संकलन का जिक्र कर रहे हैं, लिंक समय नहीं। यद्यपि आप सही हैं कि लिंकर त्वरित टेम्पलेट्स के लिए कोड भी उत्पन्न कर सकता है। –

3

कंपाइलर को एक साथ कई इनपुट फाइलें दी जाती हैं और यह उनमें से कई में (पार्स) पढ़ती है, और उसके बाद केवल इनपुट इनपुट (ऑब्जेक्ट फाइलें) उत्पन्न करती है, इससे पहले कि यह अधिक इनपुट फाइलें पढ़ती है। मुझे लगता है कि यह एक अनुकूलन है, संभवतः डिस्क पर मिश्रित पढ़ने/लिखने की पहुंच धीमी है जब इसे (पहले) पढ़ने के लिए क्रमबद्ध किया जाता है और (तब) पहुंच लिखना।

+0

मुझे लगता है कि, जो भी इसे कम वोट देता है, बेहतर जानता है। मुझे प्रबुद्ध करने की देखभाल? – sbi

-2

टेम्पलेट उदाहरण (और अन्य प्रकार का कोड) कोड उत्पन्न कर सकता है (या कुछ स्थितियों में नहीं)।

+1

हां, लेकिन कोड में कोई टेम्पलेट नहीं होने पर भी वीसी इस चरण के लिए अपना समय लेता है। – sbi

संबंधित मुद्दे