هذا هو الأمر critcl الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
critcl - تطبيق CriTcl
موجز
كريتكل ?خيار...؟ ؟ملف؟ ...
_________________________________________________________________
الوصف
مرحبا بكم في C وقت التشغيل In تى سى ال, كريتكل باختصار ، نظام لبناء حزم امتداد سي
لـ Tcl على الطاير ، من كود C مضمن في نصوص Tcl ، لجميع الذين يرغبون في صنعه
كودهم يذهب بشكل أسرع.
هذا المستند هو مرجع manpage لـ كريتكل يأمر. جمهورها المقصود
الأشخاص الذين يتعين عليهم إنشاء حزم باستخدام كريتكل للنشر. كتاب الحزم مع
يمكن أن يتجاهل كود C المضمن هذا المستند. إذا كنت في حاجة إلى نظرة عامة على الكل
بدلاً من ذلك ، يرجى الذهاب وقراءة ملف المُقدّمة إلى كريتكل.
يوجد هذا التطبيق في طبقة التطبيق الخاصة بـ CriTcl.
* ================ *
| التطبيقات |
| كريتكل |
| critcl :: app |
* ================ *
+ ---------------- +
| الحزم الأساسية |
| كريتكل |
| critcl :: use |
+ ---------------- +
+ ---------------- +
| حزم الدعم |
| بذرة :: * |
| md5 ، منصة |
| ... |
+ ---------------- +
يدعم التطبيق سطر الأوامر العام التالي:
كريتكل ?خيار...؟ ؟ملف؟ ...
المجموعة الدقيقة من الخيارات المدعومة ومعناها وتفاعلها مفصل في
قسم التطبيق مزيد من الخيارات أقل. للحصول على مجموعة أكبر من الأمثلة يرجى الاطلاع على القسم
"بناء حزم Critcl" في المستند حول باستخدام كريتكل.
تطبيق OPTIONS
الخيارات التالية مفهومة
-v
--الإصدار
تتسبب هذه الخيارات في قيام critcl بطباعة نسخته إلى المعياري ثم الخروج.
-I مسار
يحدد هذا الخيار مسار تضمين عام إضافي لاستخدامه أثناء التحويل البرمجي
من ".critcl". يتم استخدام جميع القيم إذا تم تحديد ذلك عدة مرات.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-L مسار
يحدد هذا الخيار مسار بحث مكتبة عالمي إضافي لاستخدامه أثناء الارتباط
من ".critcl". يتم استخدام جميع القيم إذا تم تحديد ذلك عدة مرات.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-مخبأ مسار
يحدد هذا الخيار المسار إلى الدليل لاستخدامه كذاكرة تخزين مؤقت للنتيجة. ان لم
حدد أنها افتراضية على "~ / .critcl /"، أو عند إنشاء حزمة (انظر
خيار -حزمة ازرق داكن "~ / .critcl /."، عند تحديده عدة مرات ، فإن ملف
تم استخدام القيمة الأخيرة.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
تنظيف عند تحديده ، يتم إفراغ ذاكرة التخزين المؤقت للنتيجة ، أي تم العثور على جميع الملفات والأدلة
تم حذفها من الداخل) قبل أن يبدأ التجميع.
هذا الخيار غير ذي صلة عند إنشاء حزمة (انظر الخيار -حزمة أدناه) لأن
يبدأ هذا الوضع بذاكرة تخزين نتائج فريدة وفارغة.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
- التكوين مسار
يحدد هذا الخيار المسار إلى ملف التكوين المخصص ، مما يسمح للمستخدم
استخدام المواصفات المستهدفة الخاصة بهم. إذا لم يتم تحديدها بشكل افتراضي
يتم استخدام التكوين المضمن في جوهر النظام بدلاً من ذلك. عند تحديد عدة
مرات استخدام آخر قيمة.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-ديبوغ طريقة
ينشط هذا الخيار الترجمة مع التصحيح. يقبل الأوضاع أدناه. متى
المحدد عدة مرات يتم استخدام مجموعة جميع الأوضاع.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
ذاكرة ينشط هذا الوضع تصحيح أخطاء الذاكرة لعمليات التخصيص التي تم إجراؤها من خلال Tcl
الأساسية.
رموز
هذا الوضع ينشط بناء الكل ".c"مع رموز تصحيح الأخطاء.
الكل هذا الوضع ينشط كليهما ذاكرة و رموز.
-إبطال الاسم
يعيّن هذا الخيار قيمة خيار تكوين الإنشاء المخصص الاسم إلى زائف.
إنه يعادل "-with-الاسم 0 ".
يتم التحقق من صحة المعلومات فقط إذا كان أحد ".critcl"إدخال الملفات في الواقع
يحدد ويستخدم خيار تكوين بناء مخصص مع ذلك الاسم.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-يُمكَِن الاسم
يعيّن هذا الخيار قيمة خيار تكوين الإنشاء المخصص الاسم إلى صحيح.
إنه يعادل "-with-الاسم 1 ".
يتم التحقق من صحة المعلومات فقط إذا كان أحد ".critcl"إدخال الملفات في الواقع
يحدد ويستخدم خيار تكوين بناء مخصص مع ذلك الاسم.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-فرض عندما يتم إجراء الترجمة المحددة دائمًا ، حتى لو كانت مكتبة مشتركة للملف
موجود بالفعل. يمكن الحصول على هذا التأثير من خلال تنظيف ذاكرة التخزين المؤقت (انظر أعلاه) على النحو التالي
حسنًا إلا أنه يتكاسل في إتلاف الملفات ولن يتلف الملفات
لا علاقة لها بتلك التي نبنيها.
هذا الخيار غير ذي صلة عند إنشاء حزمة (انظر الخيار -حزمة أدناه) لأن
يبدأ هذا الوضع بذاكرة تخزين نتائج فريدة وفارغة.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-مساعدة سيؤدي هذا الخيار إلى قيام النظام بطباعة تعليمات قصيرة حول بناء جملة سطر الأوامر
والخيارات ثم الخروج من التطبيق.
-احتفظ سيؤدي هذا الخيار إلى احتفاظ النظام بـ ".c"الملفات التي تم إنشاؤها بواسطة تشغيل في
نتيجة مخبأ. عند إنشاء حزمة (انظر الخيار -حزمة أدناه) هذا يمنع أيضا
حذف ذاكرة التخزين المؤقت للنتيجة الفريدة التي يستخدمها التشغيل. هذا الخيار مخصص
لتصحيح كريتكل نفسها ، حيث قد يكون من الضروري فحص
تم إنشاء كود C.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-لبدير مسار
يحدد هذا الخيار المسار الذي يتم تحته إنشاء الحزم عبر الخيار -حزمة
يتم حفظها. كما أنه يحدد مسارًا للبحث في المكتبات ، مثل -L. عندما
المحدد عدة مرات تم استخدام القيمة الأخيرة. عندما لا يتم تحديدها على الإطلاق
تقصير، "ليب"،. لاحظ كيف أن هذا مسار نسبي ، مع وضع النتيجة فيه
دليل العمل الحالي.
- بما في ذلك مسار
يحدد هذا الخيار المسار الذي تحته يتم حفظ أي رؤوس حزمة تم إنشاؤها.
يحدد أيضًا مسارًا للبحث في تضمين الملفات فيه ، مثل لـ -I. عند التحديد
عدة مرات يتم استخدام القيمة الأخيرة كوجهة ، ولكن جميع القيم السابقة
يتم الاحتفاظ بها على مسار بحث التضمين. عندما لا يتم تحديد الافتراضي على الإطلاق ،
"تتضمن"،. لاحظ كيف أن هذا مسار نسبي ، مع وضع النتيجة في ملف
دليل العمل الحالي.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-حزمة الوضع الافتراضي للتطبيق هو إنشاء ".critcl"المدرجة في
سطر الأوامر وحفظ النتائج في ذاكرة التخزين المؤقت للنتيجة. بشكل أساسي ، يملأ الملء مسبقًا
التخزين المؤقت مع الحزم المهمة ، مما يقلل من الوقت اللازم لاستخدامها
الحزم.
يقوم هذا الخيار بتنشيط أحد الأوضاع الأخرى ، وهو إنشاء الحزمة. في هذا الوضع
تتم معالجة ملفات الإدخال أولاً كالمعتاد ، ولكن بعد ذلك يتم تجميعها في
يتم إنشاء مكتبة واحدة وملفات إضافية لجعل هذه المكتبة قابلة للاستخدام كملفات
حزمة Tcl العادية.
الخيار -شاي، انظر أدناه ، يستدعي الوضع الأخير ، جيل الشاي. إذا كان كلا الخيارين ،
أي -حزمة و -شاي تم تحديد آخر انتصارات محددة.
في هذا الوضع الخيارات تنظيف و -فرض ليست ذات صلة ويتم تجاهلها. في المقابل،
الخيار -لبدير ذات صلة في كل من هذا و -شاي واسطة.
عند تحديد هذا الخيار ، يكون الاسم الأساسي لوسيطة الملف الأول بعد
يتم استخدام الخيارات كاسم للحزمة المراد إنشاؤها. إذا تم تمديد ذلك
يشير الملف إلى مكتبة مشتركة (".وبالتالي"".sl"".dylib"، و". دلل") بل هو أيضا
تمت إزالته من مجموعة ملفات الإدخال. أ ".تي سي ال"يتم الاحتفاظ بالملف كجزء من الإدخال
من المفترض أن يحتوي ملف واحد بدون امتداد على ".تي سي ال"التمديد
ملف بدون امتداد ، ولكن يتم التعامل مع ملفات الإدخال الأخرى التالية مثل اسم
مكتبة مشتركة مناسبة ، وإزالتها من مجموعة ملفات الإدخال.
أمثلة:
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: foo.tcl
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: bar.tcl
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: foo.tcl
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: bar.tcl
-تبين سيؤدي هذا الخيار ، عند تحديده ، إلى قيام النظام بطباعة تكوين
الهدف المختار المعياري ثم الخروج. يمكن أن يتأثر اختيار الهدف
من خلال الخيار -استهداف (انظر أدناه).
-عرض الكل
سيؤدي هذا الخيار ، عند تحديده ، إلى قيام النظام بطباعة كل ما تم اختياره
ملف التكوين إلى المعياري ثم الخروج. يمكن اختيار ملف التكوين
تتأثر من خلال الخيار - التكوين (أنظر فوق).
-استهداف الاسم
يتجاوز هذا الخيار الاختيار الافتراضي لهدف الإنشاء باختيار المستخدم.
عند تحديدها عدة مرات ، يتم استخدام القيمة الأخيرة. يجب أن يكون الهدف المحدد موجودًا
في ملف التكوين المختار. استخدم الخيار -الأهداف (انظر أدناه) للحصول على قائمة
الأهداف المقبولة. يمكن أن يتأثر اختيار ملف التكوين من خلال
الخيار - التكوين (أنظر فوق).
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي أدناه).
-الأهداف
سيؤدي هذا الخيار ، عند تحديده ، إلى قيام النظام بطباعة قائمة بكل ما هو معروف
الأهداف من ملف التكوين المختار إلى المعياري ثم الخروج. خيار
يمكن أن يتأثر ملف التكوين من خلال الخيار - التكوين (أنظر فوق).
-شاي على غرار الخيار -حزمة، باستثناء أن الوضع الذي تم استدعاؤه لا يُنشئ ثنائيات ،
ولكن التسلسل الهرمي للدليل الذي يحتوي على ".critcl"والملفات المصاحبة له وأ
نظام بناء يشبه TEA مع معظم كود الدعم المطلوب (بما في ذلك النسخ
من حزم critcl).
إذا كان كلا الخيارين ، أي -حزمة و -شاي تم تحديد آخر انتصارات محددة.
في هذا الوضع الخيارات -I, -L, تنظيف, -فرض, -مخبأ, - بما في ذلك, -يُمكَِن,
-إبطالو -مع FOO ليست ذات صلة ويتم تجاهلها. في المقابل ، الخيار -لبدير
ذات صلة في كل من هذا و -حزمة واسطة.
عند تحديد هذا الخيار ، يكون الاسم الأساسي لوسيطة الملف الأول بعد
يتم استخدام الخيارات كاسم للحزمة المراد إنشاؤها. إذا تم تمديد ذلك
يشير الملف إلى مكتبة مشتركة (".وبالتالي"".sl"".dylib"، و". دلل") بل هو أيضا
تمت إزالته من مجموعة ملفات الإدخال. أ ".تي سي ال"يتم الاحتفاظ بالملف كجزء من الإدخال
من المفترض أن يحتوي ملف واحد بدون امتداد على ".تي سي ال"التمديد
ملف بدون امتداد ، ولكن يتم التعامل مع ملفات الإدخال الأخرى التالية مثل اسم
مكتبة مشتركة مناسبة ، وإزالتها من مجموعة ملفات الإدخال.
أمثلة:
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: foo.tcl
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: bar.tcl
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: foo.tcl
=> اسم الحزمة هو: foo
=> ملف الإدخال هو: bar.tcl
مع الاسم قيمنا
يعيّن هذا الخيار قيمة خيار تكوين الإنشاء المخصص الاسم إلى قيمنا.
يتم التحقق من صحة المعلومات فقط إذا كان أحد ".critcl"إدخال الملفات في الواقع
يحدد ويستخدم خيار تكوين بناء مخصص مع ذلك الاسم.
هذا الخيار غير ذي صلة عند إنشاء حزمة TEA (انظر الخيار -شاي في الاعلى).
هيكل
الحزم التي تم إنشاؤها بواسطة critcl لها الهيكل الأساسي التالي:
+ - pkgIndex.tcl
+ - critcl-rt.tcl
+ - شروط الترخيص (اختياري)
|
+ - tcl (اختياري)
| + -
|
+ -
+ -
ملاحظة
[1] الملف "pkgIndex.tcl"هو ملف فهرس الحزمة القياسي الذي تتوقعه Tcl's
إدارة الحزم. يتم الحصول عليه أثناء البحث عن الحزم ، ويعلن عن ملف
الحزمة إلى Tcl مع ملفاتها وكيفية التعامل معها.
[2] الملف "Critcl-rt.tcl"هو ملف مساعد يحتوي على الشفرة الشائعة التي يستخدمها
"pkgIndex.tcl"لأداء مهامها.
[3] الملف "شروط الترخيص"اختياري ولا يظهر إلا إذا كان".critcl"ملف
يتم إنشاء الحزمة من الأمر المستخدم critcl :: ترخيص للإعلان عن الحزمة
المؤلف والترخيص.
[4] تم الإعلان عن جميع الملفات بواسطة الأمر critcl :: مصادر يتم وضعها في الدليل الفرعي
"تى سى ال".
[5] يتم وضع المكتبة المشتركة التي تم إنشاؤها بواسطة critcl في عنصر فرعي خاص بالمنصة
الدليل.
يتيح لنا الهيكل بأكمله ، وخاصة النقطة الأخيرة ، دمج النتائج لاحقًا
(للحزمة نفسها ، والإصدار) لأنظمة أساسية متعددة مستهدفة في دليل واحد
بنية بدون تعارض ، ببساطة عن طريق نسخ الدلائل العليا فوق بعضها البعض. ال
فقط الملفات التي يمكن أن تتعارض هي في و "تى سى ال"الدلائل ، ومن أجل هؤلاء نحن
تعلم أنها متطابقة عبر الأهداف. ستبدو نتيجة هذا الدمج كما يلي:
+ - pkgIndex.tcl
+ - critcl-rt.tcl
+ - شروط الترخيص (اختياري)
|
+ - tcl (اختياري)
| + -
|
+ -
| + -
+ -
| + -
+ -
+ -
التغيرات لأي VERSION 2.1
[1] حيث تم إصلاح الخلل critcl :: مصادر فُسرت المسارات النسبية باعتبارها ذات صلة بـ
دليل العمل الحالي بدلاً من النسبي ".critcl"باستخدام ملف
الأمر ، كما تفعل جميع الأوامر الأخرى من هذا النوع.
[2] داخلية ثابتة ، تمنع جمع المعلومات لعدة ".critcl"إلى
تسرب بينهما. على وجه الخصوص ، critcl :: tk ليس خيار تكوين عام
بعد الآن.
[3] إصلاح الأمر critcl :: ترخيص لتكون عملية خالية في الوضع "تجميع وتشغيل" ،
بدلا من إلقاء خطأ.
[4] تم إصلاح تداخل تطبيق critcl مع ذاكرة التخزين المؤقت لنتيجة "الترجمة والتشغيل"
in -حزمة الوضع من خلال جعله يستخدم منفصلًا تمامًا (وعابرًا افتراضيًا)
دليل لهذا الوضع.
[5] إصلاح الخلل حيث يتم تغيير ".critcl"الملف لم ينتج عنه إعادة بناء للوضع
"تجميع وتشغيل". تضمن جميع أوامر API ذات الصلة الآن تغييرات UUID.
[6] إصلاح الخلل في معالجة الواجهة الخلفية لـ critcl :: التصحيح حيث الرفيق ج مصادر
أ ".critcl"لم يتم تجميع الملف باستخدام خيارات التصحيح ، على الرغم من أن".critcl" ملف
كان.
[7] إصلاح الخلل critcl :: التصحيح مما حال دون التعرف على وضع "الكل" عندما كان كذلك
ليست الحجة الأولى للأمر.
[8] علة ثابتة في "التحميل المسبق"منع تجميعها على منصات غير Windows.
[9] تم إصلاح الخلل طويل الأمد في معالجة مؤهلات مساحة الاسم في اسم الأمر
حجة critcl :: cproc و critcl :: ccommand. من الممكن الآن تحديد ملف
اسم أمر مؤهل بالكامل بدون مشاكل.
[10] موسعة / معاد صياغتها critcl :: مصادر أن تكون الطريقة المتعارف عليها للإعلان ".تي سي ال"
ملفات مصاحبة حتى لوضع "ترجمة وتشغيل".
[11] موسعة / معاد صياغتها critcl :: مصادر للسماح باستخدام ".critcl"ملف خاص به
ملف مصاحب Tcl.
[12] ممتد critcl :: framework للتحقق داخليًا من هدف إصدار OS X وتجاهله
الإعلان إذا لم يكن كذلك.
[13] ممتد critcl :: فشل لتكون قابلة للاستدعاء أكثر من مرة في ".critclملف
الاستدعاء الأول يفرض على البناء ، إذا لم يكن قد تم بالفعل ، للحصول على النتيجة. إضافي
تعيد المكالمات النتيجة المخزنة مؤقتًا للمكالمة الأولى.
[14] وسعت معالجة متغير البيئة CC في الكود الذي يحدد
برنامج التحويل البرمجي لاستخدامه للتعامل مع (أي إزالة) المسارات إلى المترجم ، ملف المترجم
التمديدات وخيارات المترجم المحددة بعد المترجم نفسه ، وترك فقط
الاسم المجرد للمترجم.
[15] وسع الكود للتعامل مع البحث عن مكتبات محملة مسبقًا لطباعة المسارات
تم البحث عنها ، مما يجعل تصحيح أخطاء البحث أسهل.
[16] أمر جديد critcl :: tcl يمكن استخدامها للإعلان عن إصدار Tcl بالحد الأدنى
اللازمة لبناء وتشغيل ".critcl"الملف والحزمة. الافتراضيات إلى 8.4 إذا لم يكن كذلك
أعلن. تمديد critcl للحصول على بذرة ورؤوس لجميع Tcl 8.4 ، 8.5 ،
و 8.6
[17] أمر جديد critcl :: تحميل يفرض على بناء وتحميل ".critcl". هذا هو
الطريقة الرسمية لتجاوز مخطط critcl الافتراضي للبناء البطيء - & - التحميل عند الطلب
للوضع "تجميع وتشغيل".
ملاحظات ذلك بعد الاستخدام critcl :: تحميل / critcl :: فشل في ".critcl"الملف ليس كذلك
من الممكن استخدام أوامر critcl في هذا الملف بعد الآن. سيؤدي القيام بذلك إلى حدوث خطأ.
[18] مدد توليد براجمات "# line" للاستخدام info هيكل (إن وجد) إلى
تزويد مترجم C بأرقام الأسطر الدقيقة في ".critcl"ملف
الإبلاغ عن التحذيرات والأخطاء.
[19] ممتد critcl :: check مع التسجيل للمساعدة في تصحيح أخطاء عمليات التحقق من وقت الإنشاء الخاصة بـ
البيئة ، بالإضافة إلى وسيطة اختيارية إضافية لتوفير التصنيف.
[20] تمت إضافة أمر جديد critcl :: checklink التي لا تحاول فقط التحقق من البيئة
عن طريق تجميع الكود ، ولكن أيضًا قابليته للربط.
[21] تمت إضافة أمر جديد critcl :: msg للرسائل ، مثل الأمر critcl :: error هي لل
الإبلاغ عن الأخطاء. وبالمثل ، هذا هو الخطاف الذي يُسمح لمستخدم الحزمة به
تجاوز. التنفيذ الافتراضي ، يستخدمه الوضع جمع & يجري لا يفعل شيئا. ال
تنفيذ للوضع توليد صفقة يطبع الرسالة إلى stdout.
الاستخدام المتصور للإبلاغ عن النتائج التي يحددها critcl :: check و
critcl :: checklink أثناء البناء ، للمساعدة في تصحيح الأخطاء عند حدوث خطأ ما
بشيك.
[22] كشف حجة معالجة الداخلية من critcl :: proc للاستخدام المتقدم
المستخدمين. الأوامر الجديدة
[1] critcl :: argnames
[2] critcl :: argcnames
[3] critcl :: argcsignature
[4] critcl :: argvardecls
[5] critcl :: argconversion
يرجى الاطلاع على القسم تقدم جزءا لا يتجزأ من C رمز ل كريتكل وثائق الحزمة ل
تفاصيل.
[23] مدد حزمة critcl للاعتراض صفقة تزود وتسجيل الملف ->
تعيين اسم الحزمة. بالإضافة إلى تغييرات داخلية أخرى تسمح الآن باستخدام مساحة الاسم
أسماء الحزم مع الاستمرار في استخدام أسماء المسار الصحيح ووظيفة init.
[24] أسقط الأوامر غير المستخدمة critcl :: الأمثل و critcl :: include.
[25] أسقط -Lib الوضع من تطبيق critcl.
[26] إسقاط بقايا الدعم لـ Tcl 8.3 وما قبله.
التغيرات لأي VERSION 3
[1] الأمر critcl :: منصة تم إهماله في الإصدار 2.1 ، وحل محله
critcl :: targetplatform، حتى الآن من أجل التوافق. الآن تم إزالته.
[2] الأمر critcl :: تجميعها تم الاحتفاظ به في الإصدار 2.1 مع الدلالات بتنسيق
التناقض معها ، من أجل التوافق. تمت إزالة هذا التناقض ،
تغيير الدلالات المرئية للأمر لتتماشى مع اسمه.
[3] أصبح التغيير إلى الإصدار 3 ضروريًا بسبب عدم توافق الاثنين المرئي
التغييرات أعلاه.
[4] تمديد حزمة التطبيق مع رمز التعامل مع خيار جديد -شاي. التحديد
يستدعي هذا الخيار وضعًا خاصًا حيث يُنشئ critcl حزمة TEA ، أي يلتف
المدخلات في التسلسل الهرمي للدليل وملفات الدعم التي توفرها TEA-
يشبه نظام البناء.
هذا الخيار الجديد ، و -حزمة، استبعاد بعضنا البعض. إذا تم تحديد كلاهما آخر استخدام
الخيار له الأسبقية.
غالبًا ما يكون التسلسل الهرمي لدليل الحزمة الذي تم إنشاؤه قائمًا بذاته ، ولكن ليس بشكل كامل.
لا يتطلب الأمر تثبيتًا عمليًا لـ Tcl فحسب ، بل يتطلب أيضًا تركيبات عاملة
من الحزم md5 و كمدلاين. يتم توفير كلاهما بواسطة تكليب حزمة.
غير مطلوب ، ولكن يوصى بتثبيت أي من الحزم التي يمكن
تسريع عملية md5 ، أي كريبتكيت, com.tcllibcالطرق أو ترف.
[5] تمديد حزمة critcl بأمر جديد critcl :: مسح اتخاذ الطريق إلى
".critcl"، ومسحها ضوئيًا بشكل ثابت ، وإعادة الترخيص ، والإصدار ، وقائمة
الملفات المصاحبة لها ، وقائمة واجهات برمجة التطبيقات المستوردة ، وقائمة مخصصة من قبل المطور
خيارات الإعداد. هذه البيانات هي أساس غلاف TEA الموصوف
في الاعلى.
لاحظ أن هذا هو ساكن مسح. بينما يمكن (يجب) أن تقوم أوضاع البناء الأخرى بتنفيذ ملف
".critcl"ملف واتخاذ قرارات خاصة بالمنصة فيما يتعلق برمز C المُجمع ،
الملفات المصاحبة ، وما إلى ذلك ، فإن وضع التفاف الشاي ليس في وضع يسمح له بإنشاء النظام الأساسي-
قرارات محددة. يجب أن يلف كل شيء يمكن تصور الحاجة إليه
عند البناء بالفعل. ومن هنا جاء الفحص الساكن. هذا ومع ذلك مجموعته الخاصة من
المشاكل ، وهي عدم القدرة على معرفة أي بناء ديناميكي للرفيق
مسارات الملفات ، على الأقل من تلقاء نفسها. هكذا:
[6] وسعت واجهة برمجة التطبيقات التي تستخدمها الحزم القائمة على critcl مع الأمر critcl :: يمتلك. في حين
يتم تجاهل هذا الأمر من خلال أوضاع البناء العادية التي وصفها الماسح الضوئي الثابت
أعلاه يأخذ الوسيطات كأسماء الملفات المصاحبة التي يجب تغليفها
في عبوة TEA ولا يمكن للماسح الضوئي التعرف عليها بخلاف ذلك ، مثل
بسبب المسارات الديناميكية ل critcl :: مصادر, critcl :: csources، الحصول على المصادر
مباشرة ، أو مجرد ملفات بيانات مساعدة.
[7] وسعت واجهة برمجة التطبيقات التي تستخدمها الحزم القائمة على critcl مع الأمر critcl :: api ل
إدارة جداول بذرة سواء كان استخدامها و / أو التصريح والتصدير.
يرجى الاطلاع على القسم بذرة طاولات ومكاتب الإدارة ل كريتكل وثائق الحزمة ل
تفاصيل.
[8] وسعت واجهة برمجة التطبيقات التي تستخدمها الحزم القائمة على critcl مع الأمر critcl :: userconfig
لإدارة خيارات التكوين المخصصة التي يحددها المطور ، سواء كانت
استخدام و / أو إعلان.
يرجى الاطلاع على القسم Custom البناء الاعداد ل كريتكل وثائق الحزمة
للتفاصيل.
[9] وسعت واجهة برمجة التطبيقات التي تستخدمها الحزم القائمة على critcl مع الأوامر
critcl :: الوصف, critcl :: ملخص, critcl :: الموضوع, critcl :: ميتاو
critcl :: متطلبات البناء للإعلان عن البيانات الوصفية لـ TEApot لـ / حول
الحزمة.
يرجى الاطلاع على القسم فئة الإشتراك مييتااا البيانات ل كريتكل وثائق الحزمة ل
تفاصيل.
التغيرات لأي VERSION 3.0.1
[1] إصلاحات الأخطاء في كل مكان. بالتفصيل:
[2] التسجيل الثابت لمتطلبات إصدار Tcl. احتفظ باسم الحزمة وإصدارها
معًا ، تم إنشاء بيانات التعريف غير المنفصلة وأمر تحميل الحزمة الذي تم إنشاؤه.
[3] إصلاح البرامج النصية للبناء: عند التثبيت أو الالتفاف لـ TEA ، قم بإنشاء أي مفقود
الدلائل
[4] عدل بناء البرامج النصية للخروج بشكل صحيح من التطبيق عند نافذة
يتم إغلاق واجهة المستخدم الرسومية الخاصة بهم من خلال الزر (X).
[5] تمت إزالة 8.5-ism (فتح wb) الذي انزلق إلى نص البناء الرئيسي.
[6] عدل مثال بناء البرامج النصية لفصل المخرجات المختلفة
أمثلة (وحزم) بإضافة أسطر فارغة.
[7] stack :: c example bugfix: تضمين تعريفات API للاستخدام في الملفات المصاحبة.
[8] وثائق موسعة: لاحظ الحاجة إلى تركيب عملي لـ C
مترجم.
[9] وسعت تعريفات هدف Windows وكود التعامل مع ملفات البيان المستخدمة
بواسطة بيئات تطوير مرض التصلب العصبي المتعدد الحديثة. لاحظ أن هذا الرمز يعالج كليهما
الاحتمالات ، والبيئة التي تستخدم المانيفست ، والبيئات (القديمة) بدون.
[10] وسعت تعريفات الهدف Windows 64 بت والرمز للكشف التلقائي عن الحاجة إلى
المكتبة المساعدة "bufferoverflowU.lib" وأعد تكوين الترجمة والارتباط
الأوامر بشكل مناسب. نفترض أنه يجب ربط المكتبة عند وجودها.
لا ينبغي أن يكون هذا ضارًا إذا كانت المكتبة موجودة ، ولكن ليست هناك حاجة إليها. فقط لا لزوم لها.
نبحث عن المكتبة في المسارات المحددة بواسطة متغير البيئة LIB.
التغيرات لأي VERSION 3.0.2
[1] تم حل المشكلة في وضع الترجمة والتشغيل حيث لا يتم وضع الأوامر في الفهرس التلقائي
تم العثور عليها بواسطة أمر Tcl [غير معروف].
[2] تم إصلاح عدم تطابق مفتاح المصفوفة مع كسر استخدام بيانات العميل ووظيفة الحذف لـ
إجراء. أبلغ عنها Jos DeCoster ، مع التصحيح.
[3] نفذ خيار سطر الأوامر -L، وهو ما يعادل الخيار -I، فقط للمكتبة
مسارات البحث.
[4] تم إصلاح مشكلات github 5 و 8. العمل على حل متغير مفقود :: errorInfo. هو - هي
يجب أن تكون موجودة دائمًا ، ولكن يبدو أن هناك مراجعات لـ Tcl حولها
تنتهك هذا الافتراض.
التغيرات لأي VERSION 3.0.3
[1] تم إصلاح مشكلات github 5 و 8 ، على سبيل المثال البرامج النصية build.tcl. العمل حول أ
متغير مفقود :: errorInfo. يجب أن يكون موجودًا دائمًا ، مهما بدا أنه موجود
تنقيحات Tcl حولها تنتهك هذا الافتراض.
التغيرات لأي VERSION 3.0.4
[1] إصلاح إنشاء اسم الحزمة عند قراءة الكود الوارد منه
stdin وليس له مسار سليم.
[2] تم إصلاح مشكلة جيثب 11. الآن يتم استخدام / LIBPATH بدلاً من -L على Windows (libinclude
إعداد التكوين).
[3] تمديد critcl للتعامل مع -l: تنسيق مسار خيارات -l. يعالج GNU ld 2.22+ هذا
من خلال البحث عن المسار كما هو. جيد عند تحديد المكتبات الثابتة ، مثل عادي -l
يبحث عن المكتبات المشتركة في التفضيل على ثابت. يتعامل معه critcl الآن ، مثل
كبار السن من GNU ld لا يفهمون ذلك ، ولا الروابط المختلفة الخاصة بالبائع.
[4] حل مشكلة جيثب رقم 12. يحدد Critcl الآن إصدار MSVC قيد الاستخدام والاستخدام
للتبديل بين خيارات تصحيح الارتباط المختلفة. تبسيط التعامل مع
BufferoverflowU.lib أيضًا ، مما يجعل استخدام نفس الآلية ويؤدي إلى انهيار الاثنين
تكوينات قسمنا مرة أخرى في واحد.
[5] تمت إعادة صياغة إدراج # line pragmas في كود C الذي تم إنشاؤه لتجنب ذلك
القيود المفروضة على وسيطة رقم السطر التي يفرضها المترجمون المختلفون ، وتكون أكثر
دقيقة.
[6] معالجة الحجة المعدلة. يشير الخيار -libdir الآن أيضًا إلى -L لحجته.
[7] معالجة ممتدة لعرض الخيار (critcl :: showconfig) لسرد مسار ملف
ملف التكوين الذي تأتي منه البيانات. جيد لتكوين التصحيح
معالجة.
[8] مد نص البناء بأهداف لإعادة إنشاء الوثائق المضمنة ،
والرسوم البيانية ، ولتوليد إصدار.
التغيرات لأي VERSION 3.0.5
[1] تم إصلاح الخلل في الكود الجديد لـ #line pragmas الذي تم تشغيله عند تحديد كود C.
بدون مسافة بادئة.
[2] تمديد الوثائق للحصول على إدارات للترخيص ، استرجاع المصدر ،
دليل المثبت والمطور.
التغيرات لأي VERSION 3.0.6
[1] تم إصلاح مشكلة github 10. يوفر تطبيق critcl الآن رمز خروج مناسب (1)
عند فشل البناء ، بدلاً من الإشارة دائمًا إلى النجاح (الحالة 0).
[2] تم إصلاح مشكلة github 13. كان التعامل مع bufferoverflowU.lib لإصدارات الإصدار
تتعارض مع معالجة إصدارات التصحيح. يتم التعامل معها الآن بشكل مماثل
(مشروط) بكلتا الحالتين.
[3] تنظيف الوثائق ، بشكل أساسي في دليل التثبيت ، و README.md الموضح بواسطة
جيثب
التغيرات لأي VERSION 3.0.7
[1] تم إصلاح الكود الذي تم إنشاؤه بواسطة critcl :: c ++ الأمر. سلمت الشفرة المنبعثة غير-
ثابت سلسلة الجدول ل Tcl_GetIndexFromObj، في انتهاك للعقد ، والتي
يتطلب الجدول أن يكون له عنوان ثابت. كان هذا تحطيم الذاكرة في انتظار
يحدث. شكرا لبريان جريفين على تنبيهنا للمشكلة العامة.
التغيرات لأي VERSION 3.1
[1] تمت إضافة حزمة جديدة ذات مستوى أعلى critcl :: iassoc.
تعمل هذه الحزمة على تبسيط عملية إنشاء التعليمات البرمجية التي تربط البيانات بالمترجم
عبر Tcl's Tcl_ (الحصول على | تعيين) AssocData () واجهات برمجة التطبيقات. يمكن للمستخدم التركيز على بياناته أثناء
يتم إنشاء جميع التعليمات البرمجية المعيارية C اللازمة لدعم هذا بواسطة الحزمة.
تستخدم هذه الحزمة العديد من الميزات الجديدة التي تمت إضافتها إلى النواة كريتكل
الحزمة ، انظر أدناه.
[2] تمت إضافة حزمة المستوى الأعلى critcl :: class.
تعمل هذه الحزمة على تبسيط إنشاء كائنات مستوى C مع فئة ومثيل
أوامر. يمكن للمستخدم كتابة تعريف فئة مع متغيرات الطبقة والمثيل
و- طرق مشابهة لفئة TclOO ، مع كل التعليمات البرمجية المعيارية الضرورية C إلى
دعم هذا الذي تم إنشاؤه بواسطة الحزمة.
تستخدم هذه الحزمة العديد من الميزات الجديدة التي تمت إضافتها إلى النواة كريتكل
الحزمة ، انظر أدناه.
[3] وسعت API للتعامل مع البيانات الوصفية TEApot. تمت إضافة الأمر critcl :: ميتا؟ إلى
الاستعلام عن المعلومات المخزنة. الاستخدام الرئيسي المتصور حاليا هو استرجاع
اسم الحزمة الحالية بواسطة أوامر الأداة المساعدة ، لاستخدامها في الأسماء المُنشأة. هذا
تتوفر دائمًا معلومات معينة بسبب الفحص الثابت للحزمة
ملف عند تنفيذ أول أمر critcl.
الحزم الجديدة critcl :: iassoc و critcl :: class (انظر أعلاه) هم من مستخدمي هذا
أمر.
[4] وسعت واجهة برمجة التطبيقات بأمر ، critcl :: name2cوفضح عملية التحويل
اسم Tcl في الاسم الأساسي ومساحة الاسم ومساحة الاسم C. هذا يتيح مستوى أعلى
لتوليد نفس النوع من معرفات C مثل كريتكل نفسها.
الحزمة الجديدة critcl :: class (انظر أعلاه) هو مستخدم لهذا الأمر.
[5] وسعت واجهة برمجة التطبيقات بأمر ، critcl :: مصدر، تنفيذ أوامر critcl الموجودة في
ملف منفصل في سياق الملف الحالي. هذا يتيح إدارة أسهل
من مجموعات أكبر من التعليمات البرمجية لأنها تسمح للمستخدم بتقسيم هذه إلى أسهل
هضم قطع أصغر دون التسبب في توليد حزم متعددة.
[6] فيما يتعلق بالعنصر السابق ، وسعت واجهة برمجة التطبيقات بأوامر لتحويل المجموعة
من كود C الذي تم إنشاؤه في الذاكرة. هذا يجعل من السهل استخدام الأوامر لـ
رمز C مضمن في مولدات الأكواد عالية المستوى.
انظر القسم المتقدمة: تحويلات للحصول على تفاصيل الأوامر المقدمة.
الحزمة الجديدة critcl :: class (انظر أعلاه) هو مستخدم لهذه المرافق.
[7] وسعت واجهة برمجة التطبيقات بأوامر تساعد المطورين على توليد لغة سي مناسبة
#خط التوجيهات. هذا يسمح لمولدات الأكواد عالية المستوى بإنشاء وإدراج
توجيهاتهم الخاصة ، مما يضمن صحة أخطاء التجميع في التعليمات البرمجية الخاصة بهم
يعزى.
انظر القسم المتقدمة: الموقع إدارة للحصول على تفاصيل الأوامر المقدمة.
الحزم الجديدة critcl :: iassoc و critcl :: class (انظر أعلاه) هم مستخدمو هذه
مرافق.
[8] وسعت واجهة برمجة التطبيقات بأوامر تمنح المستخدمين القدرة على تحديد وسيطة مخصصة
وأنواع النتائج لـ :: critcl :: cproc.
انظر القسم المتقدمة: تمتد com.cproc للحصول على تفاصيل الأوامر المقدمة.
التغيرات لأي VERSION 3.1.1
[1] إصلاحات الأخطاء في كل مكان. بالتفصيل:
[2] تم إصلاح إنشاء أخطاء # args الخاطئة لـ critcl :: cproc والرمز المشتق
(critcl :: class الأساليب المستندة إلى cproc). استخدم NULL إذا لم تكن هناك وسيطات ، واستخدم
الإزاحة في الاعتبار.
[3] تم إصلاح معالجة أسماء الحزم بواسطة critcl :: class. نسيت أنها قد تحتوي
فواصل مساحة الاسم. اصطدم إلى الإصدار 1.0.1.
[4] مدد أ critcl :: class إنشاء رسالة خطأ في إنشاء المثيل من أجل الوضوح.
اصطدم بالإصدار 1.0.2.
التغيرات لأي VERSION 3.1.2
[1] التحسين. بالتفصيل:
[2] ممتد critcl :: cproc لتكون قادرًا على التعامل مع الحجج الاختيارية ، بطريقة محدودة.
هذا متاح تلقائيًا لـ critcl :: class الأساليب المستندة إلى cproc كذلك.
[3] Bugfix في ترشيد مضاهاة لـ Tcl 8.4. قم بتعيين المتغيرات غير المستخدمة بشكل صحيح على
سلسلة فارغة. نسخة مطوية من حزمة مضاهاة 84- مذاق ل1.0.1.
التغيرات لأي VERSION 3.1.3
[1] التحسين. بالتفصيل:
[2] تمت إضافة نوع وسيطة جديد "pstring" ، لـ "Pascal String" ، سلسلة محسوبة ، على سبيل المثال
مزيج من مؤشر السلسلة وطول السلسلة.
[3] تمت إضافة طرق جديدة critcl :: argtypesupport و :: critcl :: argsupport للتعريف والاستخدام
رمز دعم إضافي لنوع الوسيطة ، يُستخدم هنا بواسطة "pstring" أعلاه لـ
تحديد الهيكل الضروري.
[4] إصلاحات شبه الأخطاء في الحزم critcl :: class و critcl :: iassoc. براغماس ل AS
الماسح الضوئي للبيانات الوصفية للتأكد من أن ملفات القالب جزء من الحزمة.
ارتطمت الإصدارات إلى 1.0.4 و 1.0.1 على التوالي.
التغيرات لأي VERSION 3.1.4
[1] Bugfix في الحزمة critcl :: class. قم بإنشاء حقل وهمي في بنية الفئة إذا
لا يحتوي الفصل على متغيرات فئة. بدون هذا التغيير سيكون الهيكل فارغًا ،
وعدد من المجمعين غير قادرين على التعامل مع مثل هذا النوع.
[2] تم إصلاح الخطأ المطبعي الذي عطّل تكوين win64.
[3] تم إصلاح المشكلة رقم 16 ، خطأ مطبعي في توثيق الأمر critcl :: class.
التغيرات لأي VERSION 3.1.5
[1] تم حل المشكلة رقم 19. قام بعمل التعبير العادي باستخراج رقم إصدار MSVC
أكثر عمومية لجعلها تعمل على أنظمة اللغة الألمانية. قد يكون هذا
إعادة النظر في المستقبل ، لمواقع Windows الأخرى.
[2] تم حل المشكلة رقم 20. صنع الخيار - العمل على النوافذ ، على الأقل في مضاهاة يونكس
بيئة مثل msys / mingw.
التغيرات لأي VERSION 3.1.6
[1] تم حل المشكلة رقم 21. بينما كان التعريف المتعدد لمتغيرات مؤشر الجدول كعب
موافق مع جميع روابط C التي شوهدت حتى الآن لم تعجب روابط C ++ هذا على الإطلاق.
تمت إعادة صياغة الكود لضمان إنشاء هذه المجموعة من المتغيرات مرة واحدة فقط في
غلاف حول كل القطع لتجميعها.
[2] تم حل المشكلة رقم 22 ، التعامل مع وسيطات معرف الأمر لـ
critcl :: ccommand, critcl :: cprocو critcl :: cdata. نحن نسمح الآن بشكل صحيح بأي Tcl
المعرف وإنشاء معرفات C الداخلية المناسبة منهم.
كجزء من هذا توقيع الأمر critcl :: name2c تغير. الأمر الآن
يسلم قائمة بأربع قيم بدلاً من ثلاث. تمت إضافة القيمة الجديدة في
نهاية.
مزيد من تكييف تنفيذ الحزمة critcl :: class، مستخدم
critcl :: name2c. هذه الحزمة الآن في الإصدار 1.0.6 وتتطلب critcl 3.1.6
أخيرًا تم إصلاح سوء التعامل مع الخيار -اسم in critcl :: ccommandو
critcl :: cproc.
[3] تم حل المشكلة رقم 23.
التغيرات لأي VERSION 3.1.7
[1] تم حل المشكلة رقم 24. استخراج وعرض تحذيرات المترجم الموجودة في ملف
بناء سجل. يمنع المستخدمين من فقد التحذيرات التي ، مع عدم تسببها في البناء
للفشل ، قد لا يزال يشير إلى وجود مشاكل.
[2] ميزة جديدة. ربط الإخراج. يتم الآن توجيه جميع مخرجات المستخدم التي لا تتعلق بالمراسلة عبر ملف
أمر critcl :: print، ويُسمح للمستخدمين بتجاوزه عند استخدام ملف critcl
التطبيق كحزمة.
[3] ميزة جديدة ، بقلم أشوك ب. نادكارني. يمكن أن ترث تكوينات النظام الأساسي القيم من
التكوينات المحددة من قبلهم.
التغيرات لأي VERSION 3.1.8
[1] تم حل مشكلة مؤشرات الحزمة التي تم إنشاؤها لـ Tcl 8.4. انضم إلى قائمة الأوامر
مع فاصلة منقوطة ، وليس سطر جديد.
[2] تم إصلاح المشكلة رقم 26 التي أثارت حالات الاستخدام التي نسيت مراعاتها أثناء الإصلاح
الخطأ رقم 21 (انظر critcl 3.1.6).
التغيرات لأي VERSION 3.1.9
[1] تم حل المشكلة رقم 27. تمت إضافة تعريفات النظام الأساسي المفقودة للعديد من ملفات Linux و
أهداف OS X.
[2] تم حل المشكلة رقم 28. تمت إضافة علامات -mXX المفقودة للربط في نظام التشغيل Linux- {32,64،XNUMX} - *
أهداف.
[3] تم حل المشكلة رقم 29. تم استبدال استخدام معلومات "cheaders" الخام في المعالجة
من "cdefines" مع التوجيهات المناسبة تشمل التوجيهات المشتقة منه.
[4] تم إصلاح المشكلة الكامنة وراء رفض طلب السحب رقم 30 بواسطة Andrew Shadura. ديناميكيًا
استخراج الإعلانات المتغيرة أبتر من ملفات رأس Tcl وإنشاء
مطابقة التعاريف المتغيرة للاستخدام في كود الحزمة. سوف يتم إنشاء الكود
الآن دائمًا ما تكون متسقة مع الرؤوس ، حتى عندما تكون نسخة critcl الخاصة بها كذلك
استبدال رؤوس النظام.
[5] تم حل المشكلة رقم 31. تم قبول التصحيح بواسطة Andrew Shadura ، مع التغييرات (التعليقات) ، لـ
تكامل أسهل لـ critcl مع أنظمة حزم OS ، لتحل محل نسخ critcl الخاصة بـ
رؤوس Tcl مع رؤوسهم الخاصة.
[6] تم حل المشكلة رقم 32. تم دمج طلب سحب من أندرو شادورا. أخطاء مطبعية مختلفة في
الوثائق والتعليقات.
[7] تم حل المشكلة رقم 33. تعامل مع الملفات بدءًا بنقطة بشكل أفضل.
مؤلفون
جان كلود ويبلر ، ستيف لاندرز ، أندرياس كوبيريس
استخدم critcl عبر الإنترنت باستخدام خدمات onworks.net