कई बार man 1 ident
का उल्लेख किया गया है, इसलिए यहां उस विधि का उपयोग करने के बारे में विवरण हैं।
ident
एक आदेश है जो आरसीएस (संशोधन नियंत्रण प्रणाली) के साथ आता है, लेकिन यदि आप सीवीएस (समवर्ती संस्करण प्रणाली) या सबवर्जन का उपयोग कर रहे हैं तो भी उपलब्ध हो सकता है।
आप इसे इस तरह का प्रयोग करेंगे (आदमी पेज से क्लोन):
#include <stdio.h>
static char const rcsid[] =
"$Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $";
int main() { return printf("%s\n", rcsid) == EOF; }
और एफसी के लिए, फिर कमांड
ident f.c f.o
इच्छा उत्पादन
f.c:
$Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $
f.o:
$Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $
में संकलित किया गया है
यदि आपके f.o
को स्थिर लाइब्रेरी f.a
में जोड़ा गया था तो ident f.a
को एक समान आउटपुट दिखाना चाहिए। यदि आपके az.a
में आपके समान [a-z].o
निर्मित हैं, तो आपको az.a
फ़ाइल में अपने सभी तारों को ढूंढना चाहिए।
कैवेट: सिर्फ इसलिए कि वे .a फ़ाइल में हैं, इसका मतलब यह नहीं है कि उन्हें आपकी प्रोग्राम फ़ाइल में शामिल किया जाएगा। जब तक कार्यक्रम उन्हें संदर्भित नहीं करता है तब तक लिंकर को शामिल करने की आवश्यकता नहीं होती है। इसलिए आपको आमतौर पर स्ट्रिंग को वापस करने के लिए प्रत्येक मॉड्यूल में एक विधि होनी चाहिए, और ऐप को उस विधि को कॉल करने की आवश्यकता है। अधिकांश लिंकर्स को मनाने के तरीके हैं कि यह वास्तव में संदर्भित किए बिना एक आवश्यक प्रतीक है, लेकिन यह लिंकर पर निर्भर करता है, और इस उत्तर के दायरे से बाहर है।
आप SCCS (स्रोत कोड नियंत्रण प्रणाली) से परिचित हैं के बजाय तो आप man 1 what
बजाय प्रयोग करेंगे, और यह (मैक्रो के साथ किया लचीलापन उपलब्ध दिखाने के लिए) इस प्रकार दिखाई देगा:
#include <stdio.h>
#define VERSION_STR "5.4"
#define CONFIG "EXP"
#define AUTHOR "eggert"
static char const sccsid[] =
"@(#) " CONFIG " v " VERSION_STR " " __DATE__ " " __TIME__ " " AUTHOR;
int main() { return printf("%s\n", sccsid) == EOF; }
और एफसी के लिए, फिर कमांड
what f.c f.o
इच्छा उत्पादन
f.c:
@(#) EXP v 5.4 1993/11/09 17:40:15 eggert
f.o:
@(#) EXP v 5.4 1993/11/09 17:40:15 eggert
में संकलित किया गया है
पीएस: ident
और what
दोनों आदेश हैं जो विशिष्ट केंद्रीकृत स्रोत नियंत्रण प्रणाली के साथ आते हैं। यदि आप एक वितरित स्रोत नियंत्रण प्रणाली (जैसे गिट) का उपयोग कर रहे हैं तो पूरी अवधारणा समझ में नहीं आ सकती है। git
का उपयोग कर कुछ विचारों के लिए यह धागा देखें: Moving from CVS to git: $Id:$ equivalent? हालांकि हैश एक संस्करण संख्या के समान नहीं है। :)
नीचे दिए गए समाधान (दो लिखने के रूप में) दोनों साझा पुस्तकालयों के लिए भी उपलब्ध हैं। –
बस आपके संपादन के आधार पर एक और जवाब जोड़ा गया ... उम्मीद है कि मदद करता है। – jheddings