2010-05-04 16 views
7
/* $Id: file.c,v 1.0 2010/09/15 01:12:10 username Exp $ */ 

मुझे फ़ाइल के शीर्ष (शीर्षलेख) पर टिप्पणी में कई स्रोत कोड फ़ाइलों में यह पंक्ति मिलती है। क्यूं कर? क्या यह संस्करण नियंत्रण सॉफ्टवेयर के लिए लक्षित है? -धन्यवाद।

+0

यदि आप उस समय स्ट्रिंग को वास्तविक फ़ाइल से कॉपी करते हैं तो मैं आपकी सिस्टम घड़ी के बारे में चिंता करता हूं! संस्करण 1.0 बनाने के लिए यह असामान्य (लेकिन असंभव नहीं) भी है। –

+0

नहीं, यह कोई मशीन नहीं है। मैंने अभी कुछ foobar डेटा भर दिया है, –

उत्तर

7

इस प्रकार की टिप्पणियां स्वचालित रूप से विभिन्न स्रोत कोड नियंत्रण प्रणाली, लेखक, दिनांक, इतिहास और अन्य चीज़ों द्वारा संशोधित की जाती हैं।

आरसीएस के लिए कुछ सामान्य हैं, जो पहले स्रोत कोड नियंत्रण प्रणाली मैं कभी बात की इस तरह (लागू करने के लिए देखा है के लिए here देखें कि इसका मतलब यह नहीं था पहले, बस उस आरसीएस था पहले मैंने कभी इस्तेमाल किया और यह क्षमता थी)।

एक विशेष चाल हम उपयोग करने के लिए इस्तेमाल किया लाइन डालने के लिए किया गया था: स्रोत फ़ाइल में

static char *fileId = "$Id: $"; 

(और हेडर के रूप में अच्छी तरह से फ़ाइलें, हालांकि नाम अद्वितीय होना ही था), ताकि जब इसे बनाया गया था , यह स्वचालित रूप से निष्पादन योग्य में फ़ाइलों की आईडी होगी।

फिर हम निष्पादन योग्य बनाने के लिए किस स्रोत फ़ाइलों का उपयोग किया गया था, यह जानने के लिए हम strings जैसे कुछ उपयोग कर सकते थे। क्षेत्र में समस्याओं को डीबग करने के लिए आदर्श।

+0

मुझे फ़ाइल आईडी चाल पसंद है। जिज्ञासा से, क्या आप जीसीसी-जी (या अन्य कंपाइलर्स डब्ल्यू/डीबग विकल्प) से वही जानकारी प्राप्त कर सकते हैं? –

+0

कोई विचार नहीं। मैं ऐसा नहीं सोचूंगा क्योंकि जीसीसी में वास्तव में स्रोत नियंत्रण नहीं है। लेकिन मैं इसे पिछले प्रयास करने के लिए नहीं रखूंगा :-) आप आमतौर पर पूर्वनिर्धारित मैक्रो '__FILE__' का उपयोग कर अधिकांश कंपाइलरों के साथ फ़ाइल नाम प्राप्त कर सकते हैं लेकिन संस्करण जानकारी एक और स्तर है। – paxdiablo

3

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

2

मेरा मानना ​​है कि आप सही हैं। यह सीवीएस के लिए एक कीवर्ड प्रतिस्थापन स्ट्रिंग प्रतीत होता है। इस प्रश्न पर एक नज़र डालें $id: name of file, date/time creation Exp $

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