यह कमांड क्रिटक्ल है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
क्रिटक्ल - क्रिटीसीएल एप्लीकेशन
SYNOPSIS
critcl ?विकल्प...? ?पट्टिका...?
_________________________________________________________________
वर्णन
में आपका स्वागत है C क्रम In Tcl, CriTcl संक्षेप में, सी एक्सटेंशन पैकेज बनाने की एक प्रणाली
टीसीएल के लिए तुरंत, टीसीएल स्क्रिप्ट के भीतर एम्बेडेड सी कोड से, उन सभी के लिए जो बनाना चाहते हैं
उनका कोड तेजी से चलता है।
यह दस्तावेज़ इसके लिए संदर्भ मैनपेज है critcl आज्ञा। इसके इच्छित दर्शक हैं
लोगों को इसका उपयोग करके पैकेज बनाना पड़ता है critcl तैनाती के लिए. पैकेज के लेखक
एम्बेडेड सी कोड इस दस्तावेज़ को अनदेखा कर सकता है। यदि आपको समग्र के अवलोकन की आवश्यकता है
इसके बजाय सिस्टम, कृपया जाएं और पढ़ें परिचय सेवा मेरे CriTcl.
यह एप्लिकेशन CriTcl के एप्लिकेशन लेयर में रहता है।
*================*
|अनुप्रयोग |
| क्रिटक्ल |
| क्रिटक्ल::ऐप |
*================*
+-+
|कोर पैकेज |
| क्रिटक्ल |
| क्रिटक्ल::उपयोग |
+-+
+-+
|समर्थन पैकेज|
| स्टब्स::* |
| एमडी5, प्लेटफार्म |
| ... |
+-+
एप्लिकेशन निम्नलिखित सामान्य कमांड लाइन का समर्थन करता है:
critcl ?विकल्प...? ?पट्टिका...?
समर्थित विकल्पों का सटीक सेट, उनका अर्थ और इंटरैक्शन विस्तृत है
अनुभाग आवेदन ऑप्शंस नीचे। उदाहरणों के बड़े सेट के लिए कृपया अनुभाग देखें
दस्तावेज़ में "बिल्डिंग क्रिटक्ल पैकेज" के बारे में का प्रयोग CriTcl.
आवेदन विकल्प
निम्नलिखित विकल्प समझ में आते हैं
-v
--संस्करण
ये विकल्प क्रिटक्ल को इसके संस्करण को प्रिंट करने के लिए प्रेरित करते हैं stdout और फिर बाहर निकलें।
-I पथ
यह विकल्प संकलन के दौरान उपयोग के लिए एक अतिरिक्त वैश्विक शामिल पथ निर्दिष्ट करता है
का ".critcl"फ़ाइलें। यदि इसे कई बार निर्दिष्ट किया जाता है तो सभी मानों का उपयोग किया जाता है।
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-L पथ
यह विकल्प लिंकिंग के दौरान उपयोग करने के लिए एक अतिरिक्त वैश्विक लाइब्रेरी खोज पथ निर्दिष्ट करता है
का ".critcl"फ़ाइलें। यदि इसे कई बार निर्दिष्ट किया जाता है तो सभी मानों का उपयोग किया जाता है।
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
कैशे पथ
यह विकल्प परिणाम कैश के रूप में उपयोग करने के लिए निर्देशिका का पथ निर्दिष्ट करता है। अगर नहीं
निर्दिष्ट किया गया है कि यह डिफ़ॉल्ट है "~/.critcl/", या, पैकेज बनाते समय (देखें
विकल्प -पीकेजी इसके नीचे "~/.critcl/.", जब कई बार निर्दिष्ट किया जाता है
अंतिम मान का उपयोग किया जाता है.
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-स्वच्छ जब निर्दिष्ट किया जाता है तो परिणाम कैश खाली हो जाता है, अर्थात सभी फ़ाइलें और निर्देशिकाएँ मिल जाती हैं
संकलन शुरू होने से पहले अंदर हटा दिए जाते हैं)।
पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -पीकेजी नीचे) क्योंकि
यह मोड एक अद्वितीय और खाली परिणाम कैश के साथ प्रारंभ होता है।
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-ऑफिग पथ
यह विकल्प कस्टम कॉन्फ़िगरेशन फ़ाइल का पथ निर्दिष्ट करता है, जिससे उपयोगकर्ता को इसकी अनुमति मिलती है
अपने स्वयं के लक्ष्य विनिर्देशों का उपयोग करें। यदि हार्डवेयर्ड डिफ़ॉल्ट निर्दिष्ट नहीं है
इसके बजाय सिस्टम कोर में एम्बेडेड कॉन्फ़िगरेशन का उपयोग किया जाता है। जब एकाधिक निर्दिष्ट किया जाता है
अंतिम मान का कई बार उपयोग किया जाता है.
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-डीबग मोड
यह विकल्प डिबगिंग के साथ संकलन को सक्रिय करता है। यह नीचे दिए गए मोड को स्वीकार करता है। कब
निर्दिष्ट कई बार सभी मोड के संयोजन का उपयोग किया जाता है।
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
स्मृति यह मोड टीसीएल के माध्यम से किए गए आवंटन की मेमोरी डिबगिंग को सक्रिय करता है
कोर।
प्रतीकों
यह मोड सभी के निर्माण को सक्रिय करता है".c"डिबगिंग प्रतीकों वाली फ़ाइलें।
सब यह मोड दोनों को सक्रिय करता है स्मृति और प्रतीकों.
-अक्षम करना नाम
यह विकल्प कस्टम बिल्ड कॉन्फ़िगरेशन विकल्प का मान सेट करता है नाम सेवा मेरे असत्य.
यह "-के साथ-" के बराबर हैनाम 0 "।
जानकारी केवल तभी मान्य की जाती है जब ".critcl"वास्तव में इनपुट फ़ाइलें
उसके साथ एक कस्टम बिल्ड कॉन्फ़िगरेशन विकल्प को परिभाषित और उपयोग करता है नाम.
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-सक्षम नाम
यह विकल्प कस्टम बिल्ड कॉन्फ़िगरेशन विकल्प का मान सेट करता है नाम सेवा मेरे <strong>उद्देश्य</strong>.
यह "-के साथ-" के बराबर हैनाम 1 "।
जानकारी केवल तभी मान्य की जाती है जब ".critcl"वास्तव में इनपुट फ़ाइलें
उसके साथ एक कस्टम बिल्ड कॉन्फ़िगरेशन विकल्प को परिभाषित और उपयोग करता है नाम.
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
फोर्स जब निर्दिष्ट संकलन हमेशा किया जाता है, भले ही फ़ाइल के लिए एक साझा लाइब्रेरी हो
पहले से मौजूद है. यह प्रभाव कैश को साफ़ करके (ऊपर देखें) प्राप्त किया जा सकता है
खैर, सिवाय इसके कि यह फाइलों को नष्ट करने में आलसी है और फाइलों को नष्ट नहीं करेगा
हम जो निर्माण कर रहे हैं उससे असंबंधित।
पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -पीकेजी नीचे) क्योंकि
यह मोड एक अद्वितीय और खाली परिणाम कैश के साथ प्रारंभ होता है।
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-मदद यह विकल्प सिस्टम को कमांड लाइन सिंटैक्स के बारे में एक संक्षिप्त सहायता प्रिंट करने का कारण बनेगा
और विकल्प और फिर एप्लिकेशन से बाहर निकलें।
-रखना यह विकल्प सिस्टम को ".c" रन द्वारा उत्पन्न फ़ाइलें
परिणाम कैश. पैकेज बनाते समय (विकल्प देखें)। -पीकेजी नीचे) यह भी रोकता है
रन द्वारा उपयोग किए गए अद्वितीय परिणाम कैश को हटाना। यह विकल्प अभीष्ट है
की डिबगिंग के लिए critcl स्वयं, जहां निरीक्षण करना आवश्यक हो सकता है
उत्पन्न सी कोड.
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-libdir पथ
यह विकल्प उस पथ को निर्दिष्ट करता है जिसके अंतर्गत विकल्प के माध्यम से पैकेज उत्पन्न होते हैं -पीकेजी
सहेजे गए हैं. यह पुस्तकालयों को खोजने के लिए एक पथ भी निर्दिष्ट करता है, जैसे कि -L. जब
निर्दिष्ट कई बार अंतिम मान का उपयोग किया जाता है। जब बिलकुल भी निर्दिष्ट नहीं किया गया हो
गलती करना, "lib", का उपयोग किया जाता है। ध्यान दें कि यह एक सापेक्ष पथ कैसे है, परिणाम को इसमें रखें
वर्तमान कार्यशील निर्देशिका.
-includedir पथ
यह विकल्प उस पथ को निर्दिष्ट करता है जिसके अंतर्गत कोई भी जेनरेट किए गए पैकेज हेडर सहेजे जाते हैं।
यह फ़ाइलों को खोजने के लिए एक पथ भी निर्दिष्ट करता है, जैसे कि -I. जब निर्दिष्ट किया गया हो
कई बार अंतिम मान का उपयोग गंतव्य के रूप में किया जाता है, हालाँकि पिछले सभी मानों का
सम्मिलित खोज पथ पर रखे गए हैं। जब बिल्कुल भी डिफ़ॉल्ट निर्दिष्ट नहीं किया जाता है,
"शामिल", का उपयोग किया जाता है। ध्यान दें कि यह एक सापेक्ष पथ कैसे है, परिणाम को इसमें रखें
वर्तमान कार्य निर्देशिका।
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-पीकेजी एप्लिकेशन का डिफ़ॉल्ट मोड "बनाना है.critcl"पर सूचीबद्ध फ़ाइलें
कमांड लाइन खोलें और परिणामों को परिणाम कैश में सहेजें। अनिवार्य रूप से पूर्व-भरना
महत्वपूर्ण पैकेजों के साथ कैश, इनका उपयोग करने के लिए आवश्यक समय में कटौती
संकुल।
यह विकल्प अन्य मोडों में से एक, पैकेज जेनरेशन को सक्रिय करता है। इस मोड में
इनपुट फ़ाइलों को पहले सामान्य रूप से संसाधित किया जाता है, हालाँकि उसके बाद उन्हें बंडल कर दिया जाता है
इस लाइब्रेरी को उपयोग योग्य बनाने के लिए एक एकल लाइब्रेरी और अतिरिक्त फ़ाइलें तैयार की जाती हैं
एक नियमित टीसीएल पैकेज।
विकल्प -चाय, नीचे देखें, अंतिम मोड, टीईए पीढ़ी को आमंत्रित करता है। यदि दोनों विकल्प,
यानी -पीकेजी और -चाय अंतिम निर्दिष्ट जीत निर्दिष्ट हैं।
इस मोड में विकल्प -स्वच्छ और फोर्स अप्रासंगिक हैं और उपेक्षित हैं। इसके विपरीत,
विकल्प -libdir यह और दोनों में प्रासंगिक है -चाय मोड।
जब यह विकल्प निर्दिष्ट किया जाता है तो इसके बाद पहले फ़ाइल तर्क का बेसनाम निर्दिष्ट किया जाता है
विकल्प उत्पन्न करने के लिए पैकेज के नाम के रूप में उपयोग किया जाता है। यदि उसका विस्तार
फ़ाइल एक साझा लाइब्रेरी को इंगित करती है (".so"".sl"".dylib", और". Dll") ये भी
इनपुट फ़ाइलों के सेट से हटा दिया गया. ए "टीसीएल"फ़ाइल को इनपुट के भाग के रूप में रखा गया है। A
बिना एक्सटेंशन वाली एकल फ़ाइल को वास्तव में "टीसीएल"विस्तार। ए
एक्सटेंशन के बिना फ़ाइल, लेकिन निम्नलिखित अन्य इनपुट फ़ाइलों के नाम की तरह व्यवहार किया जाता है
एक साझा लाइब्रेरी उचित है, और इनपुट फ़ाइलों के सेट से हटा दी गई है।
उदाहरण:
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: foo.tcl
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: bar.tcl
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: foo.tcl
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: bar.tcl
-प्रदर्शन यह विकल्प, निर्दिष्ट होने पर, सिस्टम को कॉन्फ़िगरेशन प्रिंट करने का कारण बनेगा
के लिए चुना गया लक्ष्य stdout और फिर बाहर निकलें. लक्ष्य का चुनाव प्रभावित हो सकता है
विकल्प के माध्यम से -गोट लगाना (निचे देखो)।
-सब दिखाएं
यह विकल्प, जब निर्दिष्ट किया जाता है, तो सिस्टम को पूरे चुने हुए को प्रिंट करने का कारण बनेगा
कॉन्फ़िगरेशन फ़ाइल को stdout और फिर बाहर निकलें. कॉन्फ़िगरेशन फ़ाइल का चयन कर सकते हैं
विकल्प के माध्यम से प्रभावित हों -ऑफिग (ऊपर देखो)।
-गोट लगाना नाम
यह विकल्प उपयोगकर्ता की पसंद के साथ बिल्ड लक्ष्य की डिफ़ॉल्ट पसंद को ओवरराइड करता है।
जब कई बार निर्दिष्ट किया जाता है तो अंतिम मान का उपयोग किया जाता है। नामित लक्ष्य मौजूद होना चाहिए
चुनी गई कॉन्फ़िगरेशन फ़ाइल में. विकल्प का प्रयोग करें -लक्ष्य (नीचे देखें) की सूची प्राप्त करने के लिए
स्वीकार्य लक्ष्य. कॉन्फ़िगरेशन फ़ाइल की पसंद को इसके माध्यम से प्रभावित किया जा सकता है
विकल्प -ऑफिग (ऊपर देखो)।
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय नीचे).
-लक्ष्य
यह विकल्प, निर्दिष्ट होने पर, सिस्टम को सभी ज्ञात की सूची मुद्रित करने का कारण बनेगा
चुनी गई कॉन्फ़िगरेशन फ़ाइल से लक्ष्य stdout और फिर बाहर निकलें. का चुनाव
कॉन्फ़िगरेशन फ़ाइल को विकल्प के माध्यम से प्रभावित किया जा सकता है -ऑफिग (ऊपर देखो)।
-चाय विकल्प के समान -पीकेजी, सिवाय इसके कि लागू मोड बायनेरिज़ उत्पन्न नहीं करता है,
लेकिन एक निर्देशिका पदानुक्रम जिसमें ".critcl"फ़ाइल, इसकी सहयोगी फ़ाइलें, और a
अधिकांश आवश्यक समर्थन कोड (प्रतियों सहित) के साथ टीईए-लुकलाइक बिल्ड सिस्टम
क्रिटक्ल पैकेज का)।
यदि दोनों विकल्प, अर्थात् -पीकेजी और -चाय अंतिम निर्दिष्ट जीत निर्दिष्ट हैं।
इस मोड में विकल्प -I, -L, -स्वच्छ, फोर्स, कैशे, -includedir, -सक्षम,
-अक्षम करना, तथा -साथ-फू अप्रासंगिक हैं और उपेक्षित हैं। इसके विपरीत, विकल्प -libdir
यह और दोनों में प्रासंगिक है -पीकेजी मोड।
जब यह विकल्प निर्दिष्ट किया जाता है तो इसके बाद पहले फ़ाइल तर्क का बेसनाम निर्दिष्ट किया जाता है
विकल्प उत्पन्न करने के लिए पैकेज के नाम के रूप में उपयोग किया जाता है। यदि उसका विस्तार
फ़ाइल एक साझा लाइब्रेरी को इंगित करती है (".so"".sl"".dylib", और". Dll") ये भी
इनपुट फ़ाइलों के सेट से हटा दिया गया. ए "टीसीएल"फ़ाइल को इनपुट के भाग के रूप में रखा गया है। A
बिना एक्सटेंशन वाली एकल फ़ाइल को वास्तव में "टीसीएल"विस्तार। ए
एक्सटेंशन के बिना फ़ाइल, लेकिन निम्नलिखित अन्य इनपुट फ़ाइलों के नाम की तरह व्यवहार किया जाता है
एक साझा लाइब्रेरी उचित है, और इनपुट फ़ाइलों के सेट से हटा दी गई है।
उदाहरण:
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: foo.tcl
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: bar.tcl
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: foo.tcl
=> पैकेज का नाम है: foo
=> इनपुट फ़ाइल है: bar.tcl
-नाम के साथ मूल्य
यह विकल्प कस्टम बिल्ड कॉन्फ़िगरेशन विकल्प का मान सेट करता है नाम सेवा मेरे मूल्य.
जानकारी केवल तभी मान्य की जाती है जब ".critcl"वास्तव में इनपुट फ़ाइलें
उसके साथ एक कस्टम बिल्ड कॉन्फ़िगरेशन विकल्प को परिभाषित और उपयोग करता है नाम.
टीईए पैकेज बनाते समय यह विकल्प अप्रासंगिक है (विकल्प देखें)। -चाय ऊपर)।
पैकेज ढांचे
क्रिटक्ल द्वारा उत्पन्न पैकेजों में निम्नलिखित मूल संरचना होती है:
+- pkgIndex.tcl
+-critcl-rt.tcl
+- लाइसेंस.शर्तें (वैकल्पिक)
|
+- टीसीएल (वैकल्पिक)
| +-
|
+-
+-
नोट्स
[1] फ़ाइल "pkgIndex.tcl" टीसीएल द्वारा अपेक्षित मानक पैकेज इंडेक्स फ़ाइल है
पैकेज प्रबंधन. इसे पैकेजों की खोज के दौरान प्राप्त किया जाता है, और इसकी घोषणा की जाती है
अपनी फ़ाइलों के साथ टीसीएल को पैकेज, और उन्हें कैसे संभालना है।
[2] फ़ाइल "critcl-rt.tcl" एक सहायक फ़ाइल है जिसमें उपयोग किया जाने वाला सामान्य कोड होता है
"pkgIndex.tcl"अपने कार्यों को करने के लिए.
[3] फ़ाइल "लाइसेंस शर्तों" वैकल्पिक है और केवल तभी प्रदर्शित होता है जब ".critcl"फ़ाइल करें
पैकेज प्रयुक्त कमांड से उत्पन्न होता है critcl::लाइसेंस पैकेज घोषित करने के लिए
लेखक और लाइसेंस.
[4] सभी फ़ाइलें कमांड के साथ घोषित की गईं critcl::tsources उप-निर्देशिका में डाल दिए जाते हैं
"टीसीएल".
[5] क्रिटक्ल द्वारा उत्पन्न साझा लाइब्रेरी को एक प्लेटफ़ॉर्म-विशिष्ट उप-में रखा गया है
निर्देशिका.
संपूर्ण संरचना, और विशेष रूप से अंतिम बिंदु, हमें बाद में परिणामों को मर्ज करने में सक्षम बनाती है
(एक ही पैकेज और संस्करण के लिए) एक ही निर्देशिका में एकाधिक लक्ष्य प्लेटफ़ॉर्म के लिए
केवल शीर्ष निर्देशिकाओं को एक-दूसरे के ऊपर कॉपी करके, बिना किसी विरोध के संरचना।
केवल वे फ़ाइलें जिनमें विरोध हो सकता है और "टीसीएल"निर्देशिकाएं, और इनके लिए हम
जान लें कि वे सभी लक्ष्यों में समान हैं। ऐसे विलय का परिणाम इस प्रकार दिखेगा:
+- pkgIndex.tcl
+-critcl-rt.tcl
+- लाइसेंस.शर्तें (वैकल्पिक)
|
+- टीसीएल (वैकल्पिक)
| +-
|
+-
| +-
+-
| +-
+-
+-
परिवर्तन के लिए VERSION 2.1
[1] बग को ठीक किया गया critcl::tsources के सापेक्ष सापेक्ष पथों की व्याख्या की
"के सापेक्ष वर्तमान कार्यशील निर्देशिका.critcl"फ़ाइल का उपयोग कर
कमांड, जैसा कि इस प्रकार के अन्य सभी कमांड करते हैं।
[2] फिक्स्ड इंटरनल्स, मल्टीपल के लिए एकत्रित की गई जानकारी को रोकना ".critcl"फ़ाइलों के लिए
उनके बीच रिसाव. उल्लेखनीय रूप से, critcl::tk वैश्विक कॉन्फ़िगरेशन विकल्प नहीं है
अब और।
[3] आदेश को ठीक किया गया critcl::लाइसेंस "संकलन और चलाएँ" मोड में एक शून्य-ऑपरेशन होना,
एक त्रुटि फेंकने के बजाय।
[4] "कंपाइल एंड रन" परिणाम कैश के साथ क्रिटक्ल एप्लिकेशन के हस्तक्षेप को ठीक किया गया
in -पीकेजी मोड को पूरी तरह से अलग (और डिफ़ॉल्ट रूप से क्षणिक) का उपयोग करके
उस मोड के लिए निर्देशिका.
[5] उस बग को ठीक कर दिया गया है जिसमें "" में परिवर्तन होता है.critcl"फ़ाइल के परिणामस्वरूप मोड का पुनर्निर्माण नहीं हुआ
"संकलित करें और चलाएं"। सभी प्रासंगिक एपीआई कमांड अब यूयूआईडी परिवर्तन सुनिश्चित करते हैं।
[6] बैकएंड हैंडलिंग में बग को ठीक किया गया critcl::डीबग जहां साथी सी-स्रोतों का
ए ".critcl" फ़ाइल को डिबग विकल्पों के साथ संकलित नहीं किया गया था, हालाँकि ".critcl" फ़ाइल
था।
[7] बग को ठीक किया गया critcl::डीबग जिसने "सभी" मोड की पहचान को रोका जब यह था
आदेश का पहला तर्क नहीं।
[8] "में बग ठीक किया गया"प्रीलोड.सी"गैर-विंडोज़ प्लेटफ़ॉर्म पर इसके संकलन को रोकना।
[9] कमांड नाम में नेमस्पेस क्वालिफायर के प्रबंधन में लंबे समय से चली आ रही बग को ठीक किया गया
का तर्क critcl::cproc और critcl::ccommand. अब यह निर्दिष्ट करना संभव है कि ए
बिना किसी समस्या के पूरी तरह से योग्य कमांड नाम।
[10] विस्तारित/पुनः कार्य किया गया critcl::tsources घोषित करने का विहित तरीका होना "टीसीएल"
"संकलन और चलाएँ" मोड के लिए भी सहयोगी फ़ाइलें।
[11] विस्तारित/पुनः कार्य किया गया critcl::tsources के उपयोग की अनुमति देने के लिए ".critcl"फ़ाइल को स्वयं के रूप में
टीसीएल साथी फ़ाइल।
[12] विस्तारित critcl::ढांचा OS
यदि ऐसा नहीं है तो घोषणा।
[13] विस्तारित critcl::असफल "में एक से अधिक बार कॉल करने योग्य होना.critcl" फ़ाइल. द
पहली कॉल बिल्ड को परिणाम प्राप्त करने के लिए बाध्य करती है, यदि यह पहले से नहीं किया गया है। आगे
कॉल पहली कॉल का कैश्ड परिणाम लौटाती है।
[14] निर्धारित करने वाले कोड में पर्यावरण चर सीसी की हैंडलिंग को बढ़ाया गया
कंपाइलर, कंपाइलर फ़ाइल के पथों से निपटने (यानी हटाने) के लिए उपयोग करने के लिए कंपाइलर
एक्सटेंशन, और कंपाइलर विकल्प कंपाइलर के बाद ही निर्दिष्ट होते हैं, केवल छोड़कर
संकलक का खाली नाम.
[15] पथों को प्रिंट करने के लिए प्रीलोडेड लाइब्रेरीज़ की खोज को संभालने वाले कोड को बढ़ाया
खोजा गया, जिससे खोज विफलता की डिबगिंग आसान हो गई।
[16] एक नया आदेश क्रिटक्ल::टीसीएल टीसीएल के संस्करण को न्यूनतम रूप से घोषित करने के लिए इसका उपयोग किया जा सकता है
बनाने और चलाने के लिए आवश्यक है".critcl" फ़ाइल और पैकेज। यदि नहीं है तो डिफ़ॉल्ट 8.4 है
घोषित. सभी टीसीएल 8.4, 8.5 के लिए स्टब्स और हेडर रखने के लिए विस्तारित क्रिटक्ल
और 8.6।
[17] एक नया आदेश क्रिटिकल :: लोड के निर्माण और भार को बाध्य करता है ".critcl"फ़ाइल। यह है
क्रिटक्ल की डिफ़ॉल्ट आलसी-बिल्ड-एंड-लोड-ऑन-डिमांड योजना को ओवरराइड करने का आधिकारिक तरीका
मोड "संकलन और चलाएँ" के लिए।
नोट जिसे उपयोग करने के बाद क्रिटिकल :: लोड / critcl::असफल में एक ".critcl"फ़ाइल यह नहीं है
अब उस फ़ाइल में critcl कमांड का उपयोग करना संभव है। ऐसा करने पर एक त्रुटि सामने आएगी.
[18] उपयोग के लिए '#लाइन' प्राग्मास की पीढ़ी को बढ़ाया गया पता ढांचा (यदि उपलब्ध हो) को
सी कंपाइलर को सटीक लाइन नंबर प्रदान करें ".critcl"के लिए फ़ाइल
चेतावनियों और त्रुटियों की रिपोर्टिंग.
[19] विस्तारित क्रिटक्ल::चेक बिल्ड-टाइम चेक को डीबग करने में सहायता के लिए लॉगिंग के साथ
पर्यावरण, साथ ही लेबलिंग प्रदान करने के लिए एक अतिरिक्त वैकल्पिक तर्क।
[20] एक नया कमांड जोड़ा गया क्रिटक्ल::चेकलिंक जो न केवल पर्यावरण की जाँच करने का प्रयास करता है
कोड को संकलित करने के साथ-साथ इसकी लिंकेबिलिटी भी।
[21] एक नया कमांड जोड़ा गया critcl::msg मैसेजिंग के लिए, कमांड की तरह क्रिटक्ल::त्रुटि के लिए है
त्रुटि की सूचना देना। इसी तरह यह एक हुक है जिसकी पैकेज के उपयोगकर्ता को अनुमति है
ओवरराइड डिफ़ॉल्ट कार्यान्वयन, मोड द्वारा उपयोग किया जाता है संकलन & रन करते कुछ नहीं हैं।
मोड के लिए कार्यान्वयन उत्पन्न पैकेज संदेश को स्टडआउट करने के लिए प्रिंट करता है।
परिकल्पित उपयोग द्वारा निर्धारित परिणामों की रिपोर्टिंग के लिए है क्रिटक्ल::चेक और
क्रिटक्ल::चेकलिंक निर्माण के दौरान, कुछ गलत होने पर डिबगिंग में मदद करने के लिए
एक चेक के साथ.
[22] तर्क प्रसंस्करण आंतरिक को उजागर किया critcl::proc उन्नत द्वारा उपयोग के लिए
उपयोगकर्ता. नए आदेश हैं
[1] critcl::argnames
[2] critcl::argcnames
[3] critcl::argcsignature
[4] critcl::argvardecls
[5] critcl::argरूपांतरण
कृपया अनुभाग देखें उन्नत एम्बेडेड C कोड का critcl के लिए पैकेज दस्तावेज़ीकरण
विवरण।
[23] इंटरसेप्ट करने के लिए क्रिटक्ल पैकेज का विस्तार किया पैकेज प्रदान करना और फ़ाइल रिकॉर्ड करें ->
पैकेज नाम मानचित्रण. साथ ही अन्य आंतरिक परिवर्तन अब नेमस्पेस्ड के उपयोग की अनुमति देते हैं
उचित पथ नाम और init फ़ंक्शन का उपयोग करते हुए भी पैकेज नाम।
[24] अप्रयुक्त आदेशों को हटा दिया गया critcl::अनुकूलित करें और क्रिटक्ल::शामिल.
[25] गिरा दिया गया -लिब क्रिटक्ल एप्लिकेशन से मोड।
[26] टीसीएल 8.3 और उससे पहले के समर्थन के अवशेष हटा दिए गए।
परिवर्तन के लिए VERSION 3
[1] आदेश critcl::platform संस्करण 2.1 में बहिष्कृत कर दिया गया था, इसके स्थान पर
critcl::targetplatform, फिर भी अनुकूलता के लिए रखा गया है। अब इसे हटा दिया गया है.
[2] आदेश critcl::संकलित में शब्दार्थ के साथ संस्करण 2.1 में रखा गया था
अनुकूलता के लिए, इसके विपरीत। यह विरोधाभास दूर हो गया है,
कमांड के दृश्यमान शब्दार्थ को उसके नाम के अनुरूप बदलना।
[3] दो असंगत दृश्य के कारण संस्करण 3 में परिवर्तन आवश्यक हो गया
ऊपर परिवर्तन.
[4] एक नए विकल्प को संभालने वाले कोड के साथ एप्लिकेशन पैकेज का विस्तार किया गया -चाय. निर्दिष्ट करना
यह विकल्प एक विशेष मोड को आमंत्रित करता है जहां क्रिटक्ल एक टीईए पैकेज, यानी रैप्स उत्पन्न करता है
निर्देशिका पदानुक्रम में इनपुट और इसे प्रदान करने वाली फ़ाइलों का समर्थन TEA-
समान दिखने वाला बिल्डसिस्टम।
यह नया विकल्प, और -पीकेजी, एक दूसरे को बाहर करें। यदि दोनों को अंतिम बार निर्दिष्ट किया गया है
विकल्प को प्राथमिकता दी जाती है.
उत्पन्न पैकेज निर्देशिका पदानुक्रम अधिकतर स्व-निहित है, लेकिन पूरी तरह से नहीं।
इसके लिए न केवल टीसीएल की कार्यशील स्थापना की आवश्यकता है, बल्कि कार्यशील स्थापना की भी आवश्यकता है
पैकेजों का md5 और सीएमडीलाइन. इन दोनों द्वारा प्रदान किया जाता है टीक्लिब बंडल।
आवश्यक नहीं है, लेकिन किसी भी पैकेज को स्थापित करने की अनुशंसा की जाती है जो कर सकता है
एमडी5 के संचालन में तेजी लाएं, यानी क्रिप्टकिट, tclibcया, टीआरएफ.
[5] क्रिटक्ल पैकेज को एक नए कमांड के साथ बढ़ाया गया क्रिटक्ल::स्कैन ए के लिए रास्ता अपनाना
".critcl"फ़ाइल, इसे स्थिर रूप से स्कैन करना, और लाइसेंस, संस्करण, की एक सूची लौटाना
इसकी सहयोगी फ़ाइलें, आयातित एपीआई की सूची, और डेवलपर-निर्दिष्ट कस्टम की सूची
कॉन्फ़िगरेशन विकल्प. यह डेटा वर्णित टीईए रैपिंग का आधार है
ऊपर।
ध्यान दें कि यह एक है स्थिर स्कैन करें. जबकि अन्य बिल्ड मोड निष्पादित (जरूरी) कर सकते हैं
".critcl"इकट्ठे सी कोड के संबंध में फ़ाइल करें और प्लेटफ़ॉर्म-विशिष्ट निर्णय लें,
साथी फ़ाइलें, आदि टीईए रैप मोड प्लेटफ़ॉर्म बनाने की स्थिति में नहीं है-
विशिष्ट निर्णय. इसमें वह सब कुछ शामिल करना होगा जिसकी संभवतः आवश्यकता हो सकती है
वास्तव में निर्माण करते समय। इसलिए स्थैतिक स्कैन। हालाँकि इसका अपना सेट है
समस्याएँ, अर्थात् साथी के किसी भी गतिशील निर्माण का पता लगाने में असमर्थता
फ़ाइल पथ, कम से कम अपने आप। इस प्रकार:
[6] क्रिटक्ल-आधारित पैकेजों द्वारा उपयोग की जाने वाली एपीआई को कमांड के साथ विस्तारित किया गया critcl::मालिक। जबकि
इस आदेश को वर्णित स्थिर स्कैनर द्वारा नियमित निर्माण मोड द्वारा अनदेखा किया जाता है
उपरोक्त अपने तर्कों को उन सहयोगी फ़ाइलों के नाम के रूप में लेता है जिन्हें लपेटा जाना है
टीईए पैकेज में और स्कैनर द्वारा अन्यथा पता नहीं लगाया जा सका, जैसे
गतिशील पथों के कारण critcl::tsources, critcl::csources, स्रोत प्राप्त करना
सीधे तौर पर, या बस सहायक डेटाफ़ाइलें होने के नाते।
[7] क्रिटक्ल-आधारित पैकेजों द्वारा उपयोग की जाने वाली एपीआई को कमांड के साथ विस्तारित किया गया critcl::api के लिए
स्टब्स तालिकाओं का प्रबंधन, चाहे वह उनका उपयोग हो, और/या घोषणा और निर्यात हो।
कृपया अनुभाग देखें स्टब्स तालिका प्रबंध का critcl के लिए पैकेज दस्तावेज़ीकरण
विवरण।
[8] क्रिटक्ल-आधारित पैकेजों द्वारा उपयोग की जाने वाली एपीआई को कमांड के साथ विस्तारित किया गया critcl::userconfig
डेवलपर-निर्दिष्ट कस्टम कॉन्फ़िगरेशन विकल्पों के प्रबंधन के लिए, चाहे वह उनका हो
उपयोग और/या घोषणा।
कृपया अनुभाग देखें रिवाज बनाएँ विन्यास का critcl पैकेज दस्तावेज़ीकरण
ब्योरा हेतु।
[9] क्रिटक्ल-आधारित पैकेजों द्वारा उपयोग की जाने वाली एपीआई को कमांड के साथ विस्तारित किया गया
क्रिटक्ल::विवरण, क्रिटक्ल::सारांश, क्रिटक्ल::विषय, क्रिटक्ल::मेटा, तथा
critcl::buildrequirement के लिए/के बारे में TEApot मेटा डेटा की घोषणा के लिए
पैकेज.
कृपया अनुभाग देखें पैकेज मेटा जानकारी का critcl के लिए पैकेज दस्तावेज़ीकरण
विवरण।
परिवर्तन के लिए VERSION 3.0.1
[1] चारों ओर बगफिक्स। विस्तार से:
[2] टीसीएल संस्करण आवश्यकताओं की निश्चित रिकॉर्डिंग। पैकेज का नाम और संस्करण रखें
एक साथ, अटूट रूप से जेनरेट किया गया मेटा डेटा और जेनरेट किया गया पैकेज लोड कमांड।
[3] बिल्ड स्क्रिप्ट को ठीक किया गया: टीईए के लिए इंस्टॉल करते समय, या रैप करते समय, कोई भी कमी उत्पन्न करें
निर्देशिकाओं
[4] विंडो खुलने पर एप्लिकेशन से ठीक से बाहर निकलने के लिए बिल्ड स्क्रिप्ट को संशोधित किया गया
उनका GUI (X) बटन के माध्यम से बंद है।
[5] एक 8.5-आईएसएम (खुला डब्ल्यूबी) हटा दिया गया जो मुख्य बिल्ड स्क्रिप्ट में फिसल गया था।
[6] विभिन्न के लिए आउटपुट को अलग करने के लिए उदाहरण बिल्ड स्क्रिप्ट को संशोधित किया गया
खाली पंक्तियाँ जोड़कर उदाहरण (और पैकेज)।
[7] स्टैक::सी उदाहरण बगफिक्स: सहयोगी फ़ाइलों में उपयोग के लिए एपीआई घोषणाएं शामिल करें।
[8] दस्तावेज़ीकरण का विस्तार: सी की कार्यशील स्थापना की आवश्यकता पर ध्यान दिया गया
संकलक।
[9] प्रयुक्त मेनिफेस्ट फ़ाइलों को संभालने के लिए विंडोज़ लक्ष्य परिभाषाओं और कोड का विस्तार किया गया
आधुनिक एमएस विकास वातावरण द्वारा। ध्यान दें कि यह कोड दोनों को संभालता है
संभावनाएँ, मैनिफ़ेस्ट का उपयोग करने वाला वातावरण, और (पुराना) बिना वातावरण वाला वातावरण।
[10] आवश्यकता का स्वत: पता लगाने के लिए विंडोज 64 बिट लक्ष्य परिभाषाओं और कोड का विस्तार किया गया
सहायक लाइब्रेरी "bufferoverflowU.lib" और संकलन और लिंक को पुन: कॉन्फ़िगर करें
उचित रूप से आदेश देता है. हम मानते हैं कि लाइब्रेरी मौजूद होने पर लिंक होनी चाहिए।
यदि पुस्तकालय मौजूद है, फिर भी इसकी आवश्यकता नहीं है, तो इससे कोई नुकसान नहीं होना चाहिए। बस अतिश्योक्तिपूर्ण.
हम पर्यावरण चर LIB द्वारा निर्दिष्ट पथों में लाइब्रेरी की खोज करते हैं।
परिवर्तन के लिए VERSION 3.0.2
[1] कंपाइल-एंड-रन मोड में समस्या को ठीक किया गया जहां ऑटो_इंडेक्स में डाले गए कमांड नहीं हैं
टीसीएल के [अज्ञात] कमांड द्वारा पाया गया।
[2] क्लाइंट डेटा के उपयोग और डिलीट फ़ंक्शन को तोड़ने वाली एक सरणी कुंजी बेमेल को ठीक किया गया
प्रक्रिया। पैच के साथ जोस डेकोस्टर द्वारा रिपोर्ट की गई।
[3] एक कमांड लाइन विकल्प लागू किया गया -L, विकल्प के बराबर -I, सिर्फ पुस्तकालय के लिए
खोज पथ.
[4] जीथब मुद्दे 5 और 8 को ठीक किया गया। एक लापता वेरिएबल ::errorInfo के आसपास काम करना। यह
हमेशा मौजूद रहना चाहिए, हालाँकि इसके इर्द-गिर्द टीसीएल में संशोधन होते दिख रहे हैं
इस धारणा का उल्लंघन करें.
परिवर्तन के लिए VERSION 3.0.3
[1] जीथब अंक 5 और 8 को ठीक किया गया, उदाहरण के लिए बिल्ड.टीसीएल स्क्रिप्ट। ए के आसपास काम करना
अनुपलब्ध वैरिएबल ::errorInfo. यह सदैव मौजूद रहना चाहिए, चाहे जैसा भी प्रतीत हो
टीसीएल के संशोधन जो इस धारणा का उल्लंघन करते हैं।
परिवर्तन के लिए VERSION 3.0.4
[1] आने वाले कोड को पढ़ते समय पैकेज के initname की निश्चित पीढ़ी
stdin और इसका कोई उचित पथ नहीं है।
[2] जीथब समस्या 11 को ठीक किया गया। अब विंडोज़ पर -L के बजाय /LIBPATH का उपयोग किया जा रहा है (libinclude)
कॉन्फ़िगरेशन सेटिंग)।
[3] -एल विकल्पों के पथ प्रारूप को संभालने के लिए विस्तारित क्रिटक्ल। GNU ld 2.22+ इसे संभालता है
पथ को वैसे ही खोज कर। स्थैतिक पुस्तकालयों को सादे -एल के रूप में निर्दिष्ट करते समय अच्छा है
स्थैतिक की तुलना में प्राथमिकता में साझा पुस्तकालयों की तलाश करता है। क्रिटक्ल अब इसे संभालता है, जैसे
पुराने जीएनयू एलडी इसे नहीं समझते हैं, न ही विभिन्न विक्रेता-विशिष्ट लिंकर्स।
[4] जीथब समस्या #12 को ठीक किया गया। क्रिटसीएल अब उपयोग और उपयोग में आने वाले एमएसवीसी के संस्करण को निर्धारित करता है
यह विभिन्न लिंक डिबग विकल्पों के बीच स्विच करने के लिए है। के संचालन को सरल बनाया
बफरओवरफ्लोयू.लिब भी, एक ही तंत्र का उपयोग कर रहा है और दोनों को ध्वस्त कर रहा है
कॉन्फ़िगरेशन अनुभागों को हमने वापस एक में डाल दिया है।
[5] बचने के लिए जेनरेट किए गए सी कोड में #लाइन प्रैग्मा को सम्मिलित करने पर दोबारा काम किया गया
विभिन्न कंपाइलरों द्वारा लाइन नंबर तर्क पर लगाई गई सीमाएं, और भी अधिक हो सकती हैं
सटीक।
[6] संशोधित तर्क प्रसंस्करण। विकल्प -libdir अब अपने तर्क के लिए -L का भी तात्पर्य करता है।
[7] विकल्प-शो का विस्तारित संचालन (critcl::showconfig) के पथ को सूचीबद्ध करने के लिए
कॉन्फ़िगरेशन फ़ाइल से डेटा आ रहा है। डिबगिंग कॉन्फ़िगरेशन के लिए अच्छा है
प्रसंस्करण।
[8] एम्बेडेड दस्तावेज़ीकरण को पुनर्जीवित करने के लक्ष्य के साथ बिल्ड स्क्रिप्ट का विस्तार किया गया,
और आरेख, और एक रिलीज़ उत्पन्न करने के लिए।
परिवर्तन के लिए VERSION 3.0.5
[1] सी कोड निर्दिष्ट करते समय ट्रिगर होने वाले #लाइन प्राग्मास के लिए नए कोड में बग को ठीक किया गया
रिक्त स्थान का नेतृत्व किए बिना।
[2] लाइसेंस, स्रोत पुनर्प्राप्ति के लिए मैनपेज रखने के लिए दस्तावेज़ीकरण का विस्तार किया गया।
इंस्टॉलर, और डेवलपर की मार्गदर्शिकाएँ।
परिवर्तन के लिए VERSION 3.0.6
[1] जीथब समस्या 10 को ठीक किया गया। क्रिटक्ल एप्लिकेशन अब एक उचित निकास कोड प्रदान करता है (1)
निर्माण विफलता पर, हमेशा सफलता का संकेत देने के बजाय (स्थिति 0)।
[2] जीथब समस्या 13 को ठीक किया गया। रिलीज बिल्ड के लिए बफरओवरफ्लोयू.लिब को संभालना था
डिबग बिल्ड के लिए हैंडलिंग के साथ असंगत। अब इसे समान रूप से संभाला जाता है
(सशर्त) दोनों मामलों में।
[3] दस्तावेज़ीकरण क्लीनअप, मुख्य रूप से इंस्टॉलेशन गाइड में, और README.md द्वारा दिखाया गया है
GitHub
परिवर्तन के लिए VERSION 3.0.7
[1] द्वारा उत्पन्न कोड को ठीक किया गया क्रिटक्ल::सी++कमांड. उत्सर्जित कोड ने एक गैर- सौंप दिया
स्थैतिक स्ट्रिंग तालिका Tcl_GetIndexFromObj, अनुबंध के उल्लंघन में, जो
तालिका का एक निश्चित पता होना आवश्यक है। यह एक यादगार स्मृति चिन्ह था जिसका इंतज़ार किया जा रहा था
होना। हमें सामान्य समस्या के प्रति सचेत करने के लिए ब्रायन ग्रिफिन को धन्यवाद।
परिवर्तन के लिए VERSION 3.1
[1] एक नया उच्च-स्तरीय पैकेज जोड़ा गया critcl::iassoc.
यह पैकेज एक दुभाषिया के साथ डेटा को जोड़ने वाले कोड के निर्माण को सरल बनाता है
टीसीएल के माध्यम से Tcl_(प्राप्त करें|सेट करें)AssocData() एपीआई. जबकि यूजर अपने डेटा पर ध्यान केंद्रित कर सकता है
इसका समर्थन करने के लिए सभी आवश्यक बॉयलरप्लेट सी कोड पैकेज द्वारा उत्पन्न किया जाता है।
यह पैकेज कई नई सुविधाओं का उपयोग करता है जिन्हें कोर में जोड़ा गया था critcl
पैकेज, नीचे देखें।
[2] उच्च स्तरीय पैकेज जोड़ा गया क्रिटक्ल::क्लास.
यह पैकेज क्लास और इंस्टेंस के साथ सी लेवल ऑब्जेक्ट के निर्माण को सरल बनाता है
आदेश. उपयोगकर्ता वर्ग- और उदाहरण-चर के साथ वर्ग परिभाषा लिख सकता है
और -सभी आवश्यक बॉयलरप्लेट सी कोड के साथ, टीसीएलओओ वर्ग के समान तरीके
पैकेज द्वारा उत्पन्न इसका समर्थन करें।
यह पैकेज कई नई सुविधाओं का उपयोग करता है जिन्हें कोर में जोड़ा गया था critcl
पैकेज, नीचे देखें।
[3] टीपोट मेटाडेटा को संभालने के लिए एपीआई का विस्तार किया गया। आदेश जोड़ा गया क्रिटक्ल::मेटा? सेवा मेरे
संग्रहीत जानकारी को क्वेरी करें. वर्तमान में परिकल्पित मुख्य उपयोग की पुनर्प्राप्ति है
निर्मित नामों में उपयोग के लिए उपयोगिता आदेशों द्वारा वर्तमान पैकेज का नाम। यह
पैकेज के स्थिर स्कैन के कारण विशेष जानकारी हमेशा उपलब्ध रहती है
पहले क्रिटक्ल कमांड के निष्पादन पर फ़ाइल।
नये पैकेज critcl::iassoc और क्रिटक्ल::क्लास (ऊपर देखें) इसके उपयोगकर्ता हैं
आदेश।
[4] एक कमांड के साथ एपीआई को बढ़ाया, critcl::name2c, धर्मान्तरण की प्रक्रिया को उजागर करना
बेस नाम, नेमस्पेस और सी नेमस्पेस में एक टीसीएल नाम। यह उच्च स्तर को सक्षम बनाता है
उसी प्रकार के सी पहचानकर्ता उत्पन्न करने के लिए कोड जनरेटर critcl ही.
नया पैकेज क्रिटक्ल::क्लास (ऊपर देखें) इस कमांड का उपयोगकर्ता है।
[5] एक कमांड के साथ एपीआई को बढ़ाया, क्रिटक्ल::स्रोत, में पाए गए क्रिटक्ल कमांड को निष्पादित करना
वर्तमान फ़ाइल के संदर्भ में एक अलग फ़ाइल। इससे प्रबंधन आसान हो जाता है
कोड के बड़े निकायों के रूप में यह उपयोगकर्ता को इन्हें आसानी से विभाजित करने की अनुमति देता है
एकाधिक पैकेज उत्पन्न किए बिना छोटे टुकड़ों को पचाएं।
[6] पिछले आइटम से संबंधित, संग्रह को डायवर्ट करने के आदेशों के साथ एपीआई को बढ़ाया
उत्पन्न C कोड को मेमोरी में डालें। इससे कमांड का उपयोग करना आसान हो जाता है
उच्च-स्तरीय कोड जेनरेटर में एम्बेडेड सी कोड।
अनुभाग देखें उन्नत: विचलन दिए गए आदेशों के विवरण के लिए।
नया पैकेज क्रिटक्ल::क्लास (ऊपर देखें) इन सुविधाओं का उपयोगकर्ता है।
[7] एपीआई को कमांड के साथ विस्तारित किया गया, जिससे डेवलपर्स को उचित सी उत्पन्न करने में मदद मिली
#रेखा निर्देश यह उच्च-स्तरीय कोड जनरेटर को उत्पन्न करने और सम्मिलित करने की अनुमति देता है
उनके अपने निर्देश, यह सुनिश्चित करते हैं कि उनके कोड में त्रुटियाँ ठीक से संकलित हों
श्रेय दिया गया।
अनुभाग देखें उन्नत: पता प्रबंध दिए गए आदेशों के विवरण के लिए।
नये पैकेज critcl::iassoc और क्रिटक्ल::क्लास (ऊपर देखें) इनके उपयोगकर्ता हैं
सुविधाएं।
[8] एपीआई को कमांड के साथ विस्तारित किया गया जिससे उपयोगकर्ताओं को कस्टम तर्क को परिभाषित करने की क्षमता मिली
और परिणाम प्रकार के लिए ::critcl::cproc.
अनुभाग देखें उन्नत: विस्तार cproc दिए गए आदेशों के विवरण के लिए।
परिवर्तन के लिए VERSION 3.1.1
[1] चारों ओर बगफिक्स। विस्तार से:
[2] गलत#आर्ग्स त्रुटियों की पीढ़ी को ठीक किया गया critcl::cproc और व्युत्पन्न कोड
(क्रिटक्ल::क्लास cproc-आधारित विधियाँ)। यदि कोई तर्क नहीं है तो NULL का उपयोग करें और लें
खाते में ऑफसेट.
[3] पैकेज नामों के प्रबंधन को ठीक किया गया क्रिटक्ल::क्लास. भूल गए कि उनमें शामिल हो सकते हैं
नामस्थान विभाजक. संस्करण 1.0.1 पर पहुँच गया।
[4] विस्तारित ए क्रिटक्ल::क्लास स्पष्टता के लिए सृजन में त्रुटि संदेश उत्पन्न हुआ।
संस्करण 1.0.2 पर पहुँच गया।
परिवर्तन के लिए VERSION 3.1.2
[1] संवर्धन. विस्तार से:
[2] विस्तारित critcl::cproc वैकल्पिक तर्कों को सीमित तरीके से संभालने में सक्षम होना।
यह स्वचालित रूप से उपलब्ध है क्रिटक्ल::क्लास सीप्रोक-आधारित विधियाँ भी।
[3] बगफिक्स इन लसाइन टीसीएल 8.4 के लिए अनुकरण। अप्रयुक्त वेरिएबल्स को उचित रूप से सेट करें
खाली स्ट्रिंग। अनुकरण पैकेज का ऊबड़-खाबड़ संस्करण लसाइन84 1.0.1 लिए.
परिवर्तन के लिए VERSION 3.1.3
[1] संवर्धन. विस्तार से:
[2] "पास्कल स्ट्रिंग" के लिए नया तर्क प्रकार "पीस्ट्रिंग" जोड़ा गया, एक गिना हुआ स्ट्रिंग, यानी ए
स्ट्रिंग पॉइंटर और स्ट्रिंग लंबाई का संयोजन।
[3] नए तरीके जोड़े गए critcl::argtypesupport और ::critcl::argsupport परिभाषित करना और उपयोग करना
एक तर्क प्रकार के लिए अतिरिक्त सहायक कोड, यहाँ ऊपर "pstring" द्वारा उपयोग किया जाता है
आवश्यक संरचना को परिभाषित करें.
[4] पैकेजों में सेमी-बगफिक्स क्रिटक्ल::क्लास और critcl::iassoc. एएस के लिए प्राग्मास
मेटा डेटा स्कैनर यह सुनिश्चित करने के लिए कि टेम्पलेट फ़ाइलें पैकेज का हिस्सा बनी हैं।
संस्करण क्रमशः 1.0.4 और 1.0.1 तक पहुँच गए।
परिवर्तन के लिए VERSION 3.1.4
[1] पैकेज में बगफिक्स क्रिटक्ल::क्लास. यदि कक्षा संरचना में एक डमी फ़ील्ड उत्पन्न करें
वर्ग में कोई वर्ग चर नहीं है। इस परिवर्तन के बिना संरचना खाली होगी,
और कई कंपाइलर इस प्रकार को संभालने में सक्षम नहीं हैं।
[2] उस टाइपो त्रुटि को ठीक किया गया जिसने Win64 कॉन्फ़िगरेशन को तोड़ दिया था।
[3] समस्या #16, कमांड के दस्तावेज़ीकरण में एक टाइपो त्रुटि को ठीक किया गया क्रिटक्ल::क्लास.
परिवर्तन के लिए VERSION 3.1.5
[1] समस्या #19 को ठीक किया गया। MSVC संस्करण संख्या निकालने वाला रेगुलर एक्सप्रेशन बनाया
इसे जर्मन भाषा प्रणालियों पर काम करने के लिए और अधिक सामान्य बनाया गया। ये तो होना ही पड़ सकता है
भविष्य में अन्य विंडोज़ लोकेशंस के लिए इस पर दोबारा गौर किया जाएगा।
[2] समस्या #20 को ठीक किया गया। विकल्प बनाया गया - विंडोज़ पर चाय का काम, कम से कम यूनिक्स अनुकरण में
msys/mingw जैसा वातावरण।
परिवर्तन के लिए VERSION 3.1.6
[1] समस्या #21 को ठीक किया गया। जबकि स्टब-टेबल पॉइंटर वेरिएबल्स की मल्टी-डेफिनिशन थी
ठीक है अब तक देखे गए सभी C लिंकर्स के लिए C++ लिंकर्स को यह बिल्कुल पसंद नहीं आया।
यह सुनिश्चित करने के लिए कोड पर दोबारा काम किया गया कि वेरिएबल्स का यह सेट केवल एक बार उत्पन्न होता है
इकट्ठा करने के लिए सभी टुकड़ों के चारों ओर रैपर।
[2] समस्या #22 को ठीक किया गया, कमांड पहचानकर्ता तर्कों का प्रबंधन
critcl::ccommand, critcl::cproc, तथा critcl::cdata. अब हम किसी भी टीसीएल को उचित रूप से अनुमति देते हैं
पहचानकर्ता और उनसे उचित आंतरिक सी पहचानकर्ता उत्पन्न करें।
इसके भाग के रूप में आदेश के हस्ताक्षर critcl::name2c बदला हुआ। अब आदेश
तीन के बजाय चार मानों की सूची प्रदान करता है। में नया मान जोड़ा गया
समाप्त।
पैकेज के कार्यान्वयन को और अधिक अनुकूलित किया गया क्रिटक्ल::क्लास, का एक उपयोगकर्ता
critcl::name2c. यह पैकेज अब संस्करण 1.0.6 पर है और इसके लिए critcl 3.1.6 की आवश्यकता है
आख़िरकार विकल्प के ग़लत प्रबंधन को ठीक कर दिया गया -नाम in critcl::ccommand, तथा
critcl::cproc.
[3] समस्या #23 को ठीक किया गया।
परिवर्तन के लिए VERSION 3.1.7
[1] समस्या #24 को ठीक किया गया। में पाई गई कंपाइलर चेतावनियों को निकालें और बिना शर्त प्रदर्शित करें
लॉग बनाएँ. उपयोगकर्ताओं को चेतावनियाँ खोने से रोकता है, जो निर्माण का कारण नहीं बनता है
असफल होना, अभी भी समस्याओं का संकेत हो सकता है।
[2] नई सुविधा। आउटपुट हुक. सभी गैर-मैसेजिंग उपयोगकर्ता आउटपुट अब इसके माध्यम से रूट किए जाते हैं
आदेश क्रिटक्ल::प्रिंट, और क्रिटक्ल का उपयोग करते समय उपयोगकर्ताओं को इसे ओवरराइड करने की अनुमति है
एप्लिकेशन-एज़-पैकेज।
[3] नई सुविधा, अशोक पी. नाडकर्णी द्वारा। प्लेटफ़ॉर्म कॉन्फ़िगरेशन से मान प्राप्त हो सकते हैं
उनके समक्ष परिभाषित विन्यास।
परिवर्तन के लिए VERSION 3.1.8
[1] टीसीएल 8.4 के लिए उत्पन्न पैकेज सूचकांकों के साथ समस्या का समाधान। आदेशों की सूची में शामिल हों
सेमी-कोलन के साथ, न्यूलाइन नहीं।
[2] समस्या #26 को ठीक किया गया, जिससे ऐसे उपयोग के मामले सामने आए जिन्हें ठीक करते समय मैं विचार करना भूल गया था
बग #21 (critcl 3.1.6 देखें)।
परिवर्तन के लिए VERSION 3.1.9
[1] समस्या #27 को ठीक किया गया। विभिन्न वैकल्पिक लिनक्स के लिए अनुपलब्ध प्लेटफ़ॉर्म परिभाषाएँ जोड़ी गईं
ओएस एक्स लक्ष्य.
[2] समस्या #28 को ठीक किया गया। Linux-{32,64}-* पर लिंक करने के लिए अनुपलब्ध -mXX फ़्लैग जोड़े गए
लक्ष्य।
[3] समस्या #29 को ठीक किया गया। प्रसंस्करण में कच्ची "चीडर्स" जानकारी के उपयोग को प्रतिस्थापित किया गया
उचित के साथ "cdefines" से प्राप्त निर्देश शामिल हैं।
[4] एंड्रयू शादुरा द्वारा अस्वीकृत पुल अनुरोध #30 के पीछे की समस्या को ठीक किया गया। गतिशील रूप से
टीसीएल हेडर फ़ाइलों से स्टब्स वैरिएबल घोषणाएं निकालें और जेनरेट करें
पैकेज कोड में उपयोग के लिए मिलान चर परिभाषाएँ। जनरेट किया गया कोड होगा
अब हेडर के साथ हमेशा सुसंगत रहें, भले ही क्रिटक्ल की अपनी प्रति हो
सिस्टम हेडर द्वारा प्रतिस्थापित।
[5] समस्या #31 को ठीक किया गया। एंड्रयू शादुरा द्वारा स्वीकृत पैच, बदलावों (टिप्पणियों) के साथ
OS पैकेज सिस्टम के साथ critcl का आसान एकीकरण, critcl की प्रतियों की जगह
टीसीएल हेडर अपने स्वयं के साथ।
[6] समस्या #32 को ठीक किया गया। एंड्रयू शादुरा द्वारा मर्ज किया गया पुल अनुरोध। इसमें विभिन्न टाइपो
दस्तावेज़ीकरण और टिप्पणियाँ।
[7] समस्या #33 को ठीक किया गया। डॉट से शुरू होने वाली फ़ाइलों को बेहतर ढंग से संभालें।
लेखक
जीन क्लाउड विप्लर, स्टीव लैंडर्स, एंड्रियास कुप्रीज़
onworks.net सेवाओं का उपयोग करके ऑनलाइन क्रिटक्ल का उपयोग करें