अंग्रेज़ीफ्रेंचस्पेनिश

ऑनवर्क्स फ़ेविकॉन

makepp_signatures - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में makepp_signatures चलाएं।

यह कमांड makepp_signatures है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर में से एक का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


makepp_signatures -- मेकप कैसे जानता है कि फ़ाइलें कब बदली हैं

वर्णन


C: C,
c_संकलन_md5, M: "एमडी5", P: "सादा", S: "साझा_वस्तु", X: "एक्सएमएल",
xml_space

प्रत्येक फ़ाइल a . से जुड़ी होती है हस्ताक्षर, जो एक स्ट्रिंग है जो फ़ाइल के होने पर बदल जाती है
बदला हुआ। Makepp हस्ताक्षरों की तुलना यह देखने के लिए करता है कि क्या उसे कुछ भी पुनर्निर्माण करने की आवश्यकता है। NS
फ़ाइलों के लिए डिफ़ॉल्ट हस्ताक्षर फ़ाइल के संशोधन समय का एक संयोजन है और इसका
size, जब तक कि आप C/C++ संकलन कमांड निष्पादित नहीं कर रहे हैं, उस स्थिति में डिफ़ॉल्ट
हस्ताक्षर फ़ाइल की सामग्री पर एक क्रिप्टोग्राफ़िक चेकसम है, टिप्पणियों को अनदेखा करना और
खाली जगह यदि आप चाहें, तो आप किसी भिन्न विधि पर स्विच कर सकते हैं, या आप स्वयं को परिभाषित कर सकते हैं
हस्ताक्षर कार्य।

वास्तव में हस्ताक्षर का उपयोग कैसे किया जाता है, इसे किसके द्वारा नियंत्रित किया जाता है निर्माण चेक तरीका (देखें
मेकप_बिल्ड_चेक)। आम तौर पर, यदि किसी फ़ाइल का हस्ताक्षर बदलता है, तो फ़ाइल स्वयं ही होती है
माना जाता है कि बदल गया है, और मेकप एक पुनर्निर्माण के लिए मजबूर करता है।

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

मेकप में कई हस्ताक्षर विधियां शामिल हैं। Makepp आमतौर पर सबसे अधिक चुनता है
उपयुक्त मानक एक स्वचालित रूप से। हालाँकि, आप के लिए हस्ताक्षर विधि बदल सकते हैं
नियमों पर ": हस्ताक्षर" संशोधक का उपयोग करके एक व्यक्तिगत नियम जो फाइलों पर निर्भर करता है
आप "हस्ताक्षर" कथन का उपयोग करके मेकफ़ाइल में या सभी नियमों की जांच करना चाहते हैं, या
"-m" या "--signature-method" कमांड लाइन विकल्प का उपयोग करके एक बार में सभी मेकफ़ाइल्स के लिए।

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

Makepp केवल फ़ाइल के संशोधन समय को देखता था, लेकिन यदि आप makepp run चलाते हैं
एक सेकंड के भीतर कई बार (उदाहरण के लिए, एक स्क्रिप्ट में जो कई छोटे निर्माण कर रही है
चीज़ें), कभी-कभी संशोधन का समय नहीं बदलेगा। फिर, उम्मीद है कि फ़ाइल का आकार
बदल जाएगा।

यदि मामला जहां आप एक सेकंड में कई बार मेकप चला सकते हैं, तो आप के लिए एक समस्या है
हो सकता है कि "md5" पद्धति का उपयोग करना कुछ अधिक विश्वसनीय हो। अगर Makepp बनाता है a
फ़ाइल, यह अपने कैश्ड MD5 हस्ताक्षर को फ़्लश करता है, भले ही फ़ाइल की तिथि नहीं बदली हो।

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

C
c_संकलन_md5
यह इनपुट फाइलों के लिए सी जैसे कंपाइलर्स की विधि है। यह जांचता है कि फ़ाइल का नाम
C या C++ स्रोत कोड जैसा दिखता है, जिसमें Corba IDL जैसी चीज़ें शामिल हैं। अगर ऐसा होता है, तो यह
विधि लागू होती है। यदि ऐसा नहीं होता है, तो यह बाइनरी फाइलों के लिए सादे हस्ताक्षर पर वापस आ जाता है
(नाम या अन्य सामग्री द्वारा निर्धारित) और अन्य "md5" के लिए।

विचार स्वरूपण परिवर्तनों से स्वतंत्र होना है। यह खींच कर किया जाता है
जहाँ तक संभव हो, और महत्वहीन स्थानों को समाप्त करके सब कुछ। शब्द हैं
खींचने से छूट दी गई है, क्योंकि वे "__LINE__" वाले मैक्रो हो सकते हैं, इसलिए वे
वे जिस लाइन पर थे उसी पर बने रहें।

// अनदेखा टिप्पणी

#ifdef एक्सवाईजेड
#शामिल
#endif

इंट ए = 1;

#पंक्ति 20
शून्य f
(
इंट बी
)
{
ए += बी +++सी;
}

/* अधिक उपेक्षित टिप्पणी */

ऐसा व्यवहार किया जाता है जैसे कि यह थे

#ifdef एक्सवाईजेड
#शामिल
#endif

इंट ए = 1;
#पंक्ति 20
शून्य च (

इंट बी) {

ए+=बी+++सी;}

इस तरह आप अपने कोड को फिर से इंडेंट कर सकते हैं या ट्रिगर किए बिना टिप्पणियां जोड़ या बदल सकते हैं
पुनर्निर्माण, जब तक आप लाइन नंबर नहीं बदलते। (यह हस्ताक्षर विधि
यदि लाइन नंबर बदल गए हैं तो फिर से संकलित करता है क्योंकि इससे "__LINE__" पर कॉल आती है और
बदलने के लिए सबसे अधिक डिबगिंग जानकारी।) यह व्हाइटस्पेस और टिप्पणियों को भी अनदेखा करता है बाद
अंतिम टोकन। यह एक बेकार पुनर्निर्माण को रोकने के लिए उपयोगी है यदि आपका वीसी लाइनें जोड़ता है
चेक इन करते समय "$" "लॉग $" टैग पर।

यह विधि निम्नलिखित स्थितियों के लिए विशेष रूप से उपयोगी है:

· आप आमतौर पर शामिल हेडर फ़ाइल में टिप्पणियों में परिवर्तन करना चाहते हैं, या
आप इसके भाग को पुन: स्वरूपित करना या पुन: इंडेंट करना चाहते हैं। एक प्रोजेक्ट के लिए जिस पर मैंने काम किया
बहुत समय पहले, हम एक आम में गलत टिप्पणियों को ठीक करने के लिए बहुत अनिच्छुक थे
हेडर फ़ाइल, तब भी जब वे गंभीर रूप से भ्रामक थे, क्योंकि ऐसा करने से
कई घंटों के पुनर्निर्माण को ट्रिगर करें। इस हस्ताक्षर पद्धति के साथ, यह अब नहीं है
एक समस्या।

· आप अक्सर अपनी फाइलों को सहेजना पसंद करते हैं, और आपका संपादक (emacs के विपरीत) खुशी से होगा
एक नई प्रति लिखें, भले ही कुछ भी न बदला हो।

· आपके पास C/C++ स्रोत फ़ाइलें हैं जो अन्य बिल्ड द्वारा स्वचालित रूप से उत्पन्न होती हैं
कमांड (जैसे, yacc या कोई अन्य प्रीप्रोसेसर)। मैं जिस एक सिस्टम के साथ काम करता हूं, उसके लिए हम
एक प्रीप्रोसेसर है जो (जैसे yacc) दो आउटपुट फ़ाइलें, एक ".cxx" और a . उत्पन्न करता है
".एच" फ़ाइल:

% .h .cxx: .qtdlg $(HLIB)/Qt/qt_dialog_generator
$(HLIB)/Qt/qt_dialog_generator $(इनपुट)

हर बार इनपुट फ़ाइल बदली, परिणामी .h फ़ाइल भी फिर से लिखी गई थी, और
आम तौर पर यह सब कुछ के पुनर्निर्माण को ट्रिगर करेगा जिसमें इसे शामिल किया गया था। तथापि,
अधिकांश समय की सामग्री .h फ़ाइल वास्तव में नहीं बदली ( a . को छोड़कर)
प्रीप्रोसेसर द्वारा लिखे गए निर्माण समय के बारे में टिप्पणी करें), इसलिए एक पुनर्संकलन था
वास्तव में आवश्यक नहीं है।

वास्तव में व्यवहार में यह आपकी अपेक्षा से कम पुनर्संकलन बचाता है, क्योंकि मात्र
टिप्पणी परिवर्तन अक्सर लाइनें जोड़ते हैं। "__LINE__" या डीबगर से लॉगिंग करने के लिए
अपने स्रोत से मेल खाने के लिए, इसके लिए पुन: संकलन की आवश्यकता है। तो यह हस्ताक्षर विशेष रूप से है
साक्षर प्रोग्रामिंग से उपकरणों के "उलझन" परिवार के लिए बेकार, जहां आपका कोड
कुछ बड़ी फ़ाइल में रहता है और यहां तक ​​कि एक दस्तावेज़ अनुभाग में परिवर्तन जो अप्रासंगिक है
कोड "#line" निर्देश के माध्यम से निकाले गए स्रोत में दिखाई देगा।

यदि आप विकास के दौरान गलत लाइन नंबरों के साथ रह सकते हैं, तो आप वेरिएबल सेट कर सकते हैं
"makepp_signature_C_flat" (अपरकेस C के साथ) कुछ वास्तविक मान (जैसे 1) के लिए। फिर,
जबकि संकलक अभी भी वास्तविक फ़ाइल देखता है, उपरोक्त उदाहरण के लिए चपटा किया जाएगा
के रूप में हस्ताक्षर करना:

#ifdef एक्सवाईजेड
#शामिल
#endif
int a=1;void f(int b){a+=b+++c;}

ध्यान दें कि हस्ताक्षर केवल तभी पुनर्गणना होते हैं जब फ़ाइलें बदलती हैं। तो आप के लिए निर्माण कर सकते हैं
इस विकल्प के बिना रिपॉजिटरी में हर कोई, और जो विकल्प चाहते हैं वे इसे सेट कर सकते हैं
अपने सैंडबॉक्स में निर्माण करते समय। जब वे पहली बार किसी फ़ाइल को स्थानीय रूप से बदलते हैं, तब भी केवल
तुच्छ रूप से, यह एक पुनर्संकलन का कारण बनेगा, क्योंकि इस विकल्प के साथ पूरी तरह से
अलग हस्ताक्षर की गणना की जाती है। लेकिन तब वे फ़ाइल को उतना ही पुन: स्वरूपित कर सकते हैं जितना
वे आगे पुनर्संकलन के बिना चाहते हैं।

इसके विपरीत भी सत्य है: बस इस विकल्प को सेट करने और पुन: संकलित करने के बाद छोड़ देना
आपके लाइन नंबर ठीक नहीं करेंगे। इसलिए, यदि लाइन नंबर मायने रखते हैं, तो प्रोडक्शन न करें
पहले सफाई किए बिना उसी सैंडबॉक्स में निर्माण करें।

md5 यह डिफ़ॉल्ट विधि है, फाइलों के लिए "C" विधि द्वारा मान्यता प्राप्त नहीं है। गणना करता है a
फ़ाइल की तिथि या आकार को देखने के बजाय, फ़ाइल की सामग्री का MD5 चेकसम।
इसका अर्थ यह है कि यदि आप फ़ाइल पर दिनांक बदलते हैं लेकिन उसकी सामग्री नहीं बदलते हैं,
मेकप उस पर निर्भर किसी भी चीज़ के पुनर्निर्माण की कोशिश नहीं करेगा।

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

साझा_वस्तु
यह विधि केवल तभी काम करती है जब आपके पथ में उपयोगिता "एनएम" हो, और यह स्वीकार करता है
पॉज़िक्स प्रारूप को आउटपुट करने के लिए "-पी" विकल्प। उस स्थिति में केवल प्रतीकों के नाम और प्रकार
गतिशील रूप से लोड पुस्तकालयों में उनके हस्ताक्षर का हिस्सा बन जाते हैं। नतीजा यह है कि
आप उपयोग किए जाने वाले प्रोग्राम को फिर से लिंक किए बिना फ़ंक्शन के कोडिंग को बदल सकते हैं
उन्हें.

निम्नलिखित कमांड में पार्सर एक अंतर्निहित निर्भरता का पता लगाएगा
$(LIBDIR)/libmylib.so, और यदि आवश्यक हो तो इसे बनाएं। हालांकि लिंक कमांड केवल
जब भी पुस्तकालय प्रतीकों का एक अलग सेट निर्यात करता है, तो इसे फिर से प्रदर्शित किया जाना चाहिए:

myprog: $(OBJECTS): हस्ताक्षर साझा_ऑब्जेक्ट
$(LD) -L$(LIBDIR) -lmylib $(इनपुट) -o $(आउटपुट)

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

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

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

दोनों विधियों के लिए सामान्य यह है कि वे प्रत्येक xml दस्तावेज़ के सार पर हस्ताक्षर करते हैं। उपस्थिति
या बीओएम का नहीं या " " शीर्षलेख पर ध्यान नहीं दिया जाता है। टिप्पणियों पर ध्यान नहीं दिया जाता है, जैसे कि:
पाठ "CDATA" के रूप में या संस्थाओं के साथ सुरक्षित है। विशेषताओं का क्रम और उद्धरण शैली
कोई फर्क नहीं पड़ता, न ही आप खाली टैग कैसे प्रस्तुत करते हैं।

किसी भी फाइल के लिए जो वैध एक्सएमएल नहीं है, या यदि एक्सपैट आधारित "एक्सएमएल :: पार्सर" या
"XML::LibXML" पार्सर स्थापित नहीं है, यह विधि md5 पर वापस आ जाता है। यदि आप स्विच करते हैं
एक पार्सर से दूसरे में आपका पर्ल इंस्टॉलेशन, मेकप सोचेगा
टाइमस्टैम्प बदलते ही फाइलें अलग हो जाती हैं। ऐसा इसलिए है क्योंकि का परिणाम है
या तो पार्सर तार्किक रूप से समकक्ष है, लेकिन वे अलग-अलग हस्ताक्षर उत्पन्न करते हैं। में
संभावना नहीं है कि यह एक समस्या है, आप केवल "XML :: LibXML" के उपयोग को बाध्य कर सकते हैं
पर्ल में सेटिंग:

$एमपीपी::हस्ताक्षर::xml::libxml = 1;

विस्तार प्रयोज्यता
"सी" या "c_compilation_md5" विधि में प्रत्ययों की एक अंतर्निहित सूची है जिसे वह पहचानता है
सी या सी जैसा होना। यदि यह अन्य फाइलों पर लागू हो जाता है तो यह सरल हस्ताक्षर पर वापस आ जाता है
तरीके। लेकिन इस विधि के लिए कई फ़ाइल प्रकार वाक्य रचनात्मक रूप से C++ के काफी करीब हैं
उपयोगी। पर्याप्त बंद का मतलब है सी ++ टिप्पणी और स्ट्रिंग सिंटैक्स और व्हाइटस्पेस अर्थहीन है
शब्दों के बीच एक स्थान को छोड़कर (और सी ++ की समस्या के मामले "- -", "+ +", "/ *" और "< <")।

इसे (और इसके उपवर्ग) अब आसानी से अन्य प्रत्ययों तक बढ़ाया जा सकता है। आप कहीं भी कर सकते हैं
एक हस्ताक्षर निर्दिष्ट करें जिसे अब आप विधि बनाने के लिए इनमें से किसी एक सिंटैक्स पर काम कर सकते हैं
अतिरिक्त फ़ाइल नाम स्वीकार करें:

C.प्रत्यय1, प्रत्यय2, प्रत्यय3
एक या अधिक अल्पविराम से अलग किए गए प्रत्ययों को एक कोलन द्वारा विधि में जोड़ा जा सकता है। के लिये
उदाहरण "C.ipp,tpp" का अर्थ है कि अंतर्निर्मित प्रत्ययों के अलावा यह इस पर भी लागू होगा
में समाप्त होने वाली फ़ाइलें .आईपीपी or .टीपीपी, जिसका उपयोग आप इनलाइन और टेम्पलेट के लिए कर रहे होंगे
सी ++ हेडर का हिस्सा।

सी।(प्रत्यय-regexp)
यह पिछले की तरह है, लेकिन प्रत्ययों की गणना करने के बजाय, आप एक Perl . देते हैं
आप जो चाहते हैं उससे मेल खाने के लिए नियमित अभिव्यक्ति। पिछला उदाहरण होगा
इस सिंटैक्स में "C.(ipp|tpp)" या "C.([it]pp)"।

C(regexp)
डॉट के बिना पर्ल रेगुलर एक्सप्रेशन फ़ाइल नाम में कहीं भी मेल खा सकता है। अगर यह
एक स्लैश शामिल है, इसे पूरी तरह से योग्य फ़ाइल नाम के विरुद्ध आज़माया जाएगा, अन्यथा
केवल अंतिम भाग के विरुद्ध, बिना किसी निर्देशिका के। तो अगर आपके पास C++ स्टाइल है
एक निर्देशिका में प्रत्यय रहित शीर्षलेख शामिल, अपनी हस्ताक्षर विधि के रूप में "C(include/)" का उपयोग करें।
हालांकि उपरोक्त प्रत्यय उदाहरण इस तरह से काफी बुरा होगा, "सी (\। (?: ipp|tpp) $$)"
या "C(\.[it]pp$$)" क्योंकि "$" मेकफ़ाइल में विस्तार वर्ण है।

कमियों
हस्ताक्षर विधियां नियम की सभी फाइलों पर लागू होती हैं। अब यदि आपके पास एक कंपाइलर है जो C . लेता है
स्रोत कोड और XML कॉन्फ़िगरेशन फ़ाइल की तरह आपको या तो एक संयुक्त हस्ताक्षर की आवश्यकता होगी
विधि जो दोनों फ़ाइल प्रकारों को चतुराई से संभालती है, या आपको एक मौजूदा विधि चुननी होगी जो
पता नहीं चलेगा कि क्या दूसरी फाइल में बदलाव महत्वपूर्ण है।

भविष्य में हस्ताक्षर विधि कॉन्फ़िगरेशन को फ़ाइल नाम-पैटर्न में बदला जा सकता है,
वैकल्पिक रूप से प्रति आदेश।

रिवाज तरीकों
यदि आप चाहें, तो आप फ़ाइल हस्ताक्षरों की गणना के लिए अपने स्वयं के तरीकों को परिभाषित कर सकते हैं और
उनकी तुलना करना। ऐसा करने के लिए आपको एक पर्ल मॉड्यूल लिखना होगा। पर एक नजर
वितरण में "Mpp/Signature.pm" में टिप्पणियाँ, और मौजूदा हस्ताक्षर पर भी
विवरण के लिए "एमपीपी/हस्ताक्षर/*.पीएम" में एल्गोरिदम।

यहां कुछ मामले दिए गए हैं जहां आप एक कस्टम हस्ताक्षर विधि चाहते हैं:

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

· जब आप किसी फ़ाइल के किसी भाग को अनदेखा करना चाहते हैं। मान लीजिए कि आपके पास एक प्रोग्राम है कि
एक फ़ाइल उत्पन्न करता है जिसमें एक तारीख की मुहर होती है, लेकिन आप केवल अगर फिर से संकलित नहीं करना चाहते हैं
तारीख की मोहर बदल गई है। बस इसी तरह की एक हस्ताक्षर विधि को परिभाषित करें
"c_compilation_md5" जो आपके फ़ाइल स्वरूप को समझता है और उन हिस्सों को छोड़ देता है जिन्हें आप नहीं करते हैं
खाते में लेना चाहते हैं।

onworks.net सेवाओं का उपयोग करके makepp_signatures का ऑनलाइन उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

लिनक्स कमांड

Ad