انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

critcl - آنلاین در ابر

critcl را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور critcl است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


critcl - برنامه CriTcl

خلاصه


critcl ?انتخاب...؟ ?پرونده...؟

_________________________________________________________________

شرح


به انجمن خوش آمدید C زمان اجرا In Tcl, CriTcl به طور خلاصه، سیستمی برای ساخت بسته های الحاقی C
برای Tcl در حال پرواز، از کد C تعبیه شده در اسکریپت های Tcl، برای همه کسانی که می خواهند بسازند
کد آنها سریعتر می رود.

این سند صفحه مدیریت مرجع برای critcl فرمان مخاطبان مورد نظر آن هستند
افرادی که مجبور به ساخت پکیج با استفاده از critcl برای استقرار نویسندگان بسته با
کد C تعبیه شده می تواند این سند را نادیده بگیرد. اگر به یک مرور کلی از کل نیاز دارید
به جای سیستم، لطفا بروید و آن را بخوانید معرفی به CriTcl.

این برنامه در لایه برنامه CriTcl قرار دارد.

*================*
| برنامه های کاربردی |
| critcl |
| critcl::app |
*================*

+-----------------+
|بسته های اصلی |
| critcl |
| critcl::util |
+-----------------+

+-----------------+
|پکیج های پشتیبانی|
| خرد::* |
| md5، پلت فرم |
| ... |
+-----------------+

این برنامه از خط فرمان کلی زیر پشتیبانی می کند:

critcl ?انتخاب...؟ ?پرونده...؟
مجموعه دقیق گزینه های پشتیبانی شده، معنی و تعامل آنها به تفصیل آمده است
بخش کاربرد گزینه زیر برای مجموعه ای بزرگتر از نمونه ها لطفا بخش را ببینید
"ساخت بسته های Critcl" در سند در مورد با استفاده از CriTcl.

کاربرد OPTIONS


گزینه های زیر قابل درک است

-v

- نسخه
این گزینه ها باعث می شود که critcl نسخه خود را در آن چاپ کند stdout و سپس خارج شوید.

-I مسیر
این گزینه یک مسیر شامل جهانی اضافی را برای استفاده در طول کامپایل مشخص می کند
از ".critclاگر چندین بار مشخص شده باشد، همه مقادیر استفاده می شوند.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-L مسیر
این گزینه یک مسیر جستجوی کتابخانه جهانی اضافی را برای استفاده در حین پیوند مشخص می کند
از ".critclاگر چندین بار مشخص شده باشد، همه مقادیر استفاده می شوند.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-کش مسیر
این گزینه مسیر دایرکتوری را برای استفاده به عنوان کش نتیجه مشخص می کند. اگر نه
مشخص کرد که به طور پیش فرض روی "~/.critcl/"، یا، هنگام تولید یک بسته (نگاه کنید به
انتخاب -pkg زیر)، به "~/.critcl/."، زمانی که چندین بار مشخص شود
آخرین مقدار استفاده شده است.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-تمیز وقتی مشخص شد حافظه نهان نتیجه خالی می شود، یعنی همه فایل ها و دایرکتوری ها پیدا می شوند
داخل حذف می شوند) قبل از شروع کامپایل.

این گزینه در هنگام تولید بسته بی ربط است (به گزینه مراجعه کنید -pkg زیر) زیرا
این حالت با یک کش نتایج منحصر به فرد و خالی شروع می شود.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

پیکربندی کنید مسیر
این گزینه مسیر یک فایل پیکربندی سفارشی را مشخص می کند و به کاربر این امکان را می دهد
از مشخصات هدف خود استفاده کنند. اگر مشخص نشده است پیش‌فرض سیم‌کشی شده
به جای آن از پیکربندی تعبیه شده در هسته سیستم استفاده می شود. وقتی چندتایی مشخص شد
برابر آخرین مقدار استفاده می شود.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

اشکال زدایی حالت
این گزینه کامپایل را با اشکال زدایی فعال می کند. حالت های زیر را می پذیرد. چه زمانی
چندین بار مشخص شده است که ترکیبی از همه حالت ها استفاده می شود.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

حافظه این حالت اشکال زدایی حافظه تخصیص های انجام شده از طریق Tcl را فعال می کند
هسته.

نمادها
این حالت ساختمان همه " را فعال می کند.cفایل هایی با نمادهای اشکال زدایی.

تمام این حالت هر دو را فعال می کند حافظه و نمادها.

غیرقابل قبول نام
این گزینه مقدار گزینه پیکربندی ساخت سفارشی را تعیین می کند نام به غلط.
معادل "-با-نام 0 "

اطلاعات فقط در صورتی تایید می شود که یکی از ".critclفایل های ورودی را در واقع
یک گزینه پیکربندی ساخت سفارشی را با آن تعریف و استفاده می کند نام.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-قابل امکان نام
این گزینه مقدار گزینه پیکربندی ساخت سفارشی را تعیین می کند نام به درست.
معادل "-با-نام 1 "

اطلاعات فقط در صورتی تایید می شود که یکی از ".critclفایل های ورودی را در واقع
یک گزینه پیکربندی ساخت سفارشی را با آن تعریف و استفاده می کند نام.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-زور هنگامی که کامپایل مشخص شده همیشه انجام می شود، حتی اگر یک کتابخانه مشترک برای فایل
در حال حاضر وجود دارد. این اثر را می توان از طریق تمیز کردن حافظه پنهان (به بالا مراجعه کنید) به عنوان
خوب، با این تفاوت که در از بین بردن فایل ها تنبل است و فایل ها را از بین نمی برد
بی ارتباط با آنهایی که می سازیم.

این گزینه در هنگام تولید بسته بی ربط است (به گزینه مراجعه کنید -pkg زیر) زیرا
این حالت با یک کش نتایج منحصر به فرد و خالی شروع می شود.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-کمک این گزینه باعث می شود که سیستم یک راهنمای کوتاه در مورد نحو خط فرمان چاپ کند
و گزینه ها و سپس از برنامه خارج شوید.

-نگاه داشتن این گزینه باعث می شود که سیستم ".cفایل های تولید شده توسط اجرا در
کش نتیجه هنگام تولید یک بسته (به گزینه مراجعه کنید -pkg زیر) این نیز مانع می شود
حذف کش نتایج منحصر به فرد مورد استفاده در اجرا. این گزینه در نظر گرفته شده است
برای رفع اشکال critcl خود، جایی که ممکن است لازم باشد بازرسی شود
کد C تولید کرد.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-libdir مسیر
این گزینه مسیری را که بسته ها از طریق گزینه تولید می شوند را مشخص می کند -pkg
ذخیره می شوند. همچنین مسیری را برای جستجوی کتابخانه ها در مانند for مشخص می کند -Lاست. وقتی که
چندین بار از آخرین مقدار استفاده شده است. زمانی که اصلا مشخص نشده است
پیش فرض، "لوب"، استفاده می شود. توجه داشته باشید که چگونه این یک مسیر نسبی است و نتیجه را در آن قرار می دهید
دایرکتوری کاری فعلی

-includedir مسیر
این گزینه مسیری را مشخص می کند که هر هدر بسته تولید شده در آن ذخیره می شود.
همچنین مسیری را برای جستجوی شامل فایل‌ها، مانند for، مشخص می‌کند -I. وقتی مشخص شد
چندین برابر آخرین مقدار به عنوان مقصد استفاده می شود، با این حال تمام مقادیر قبلی
در مسیر جستجوی شامل نگهداری می شوند. زمانی که به طور پیش فرض مشخص نشده باشد،
"شامل"، استفاده می شود. توجه داشته باشید که چگونه این یک مسیر نسبی است، و نتیجه را در مسیر قرار دهید
فهرست کار فعلی

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-pkg حالت پیش فرض برنامه ساختن ".critclفایل های فهرست شده در
خط فرمان و نتایج را در کش نتیجه ذخیره کنید. اساسا از قبل پر کردن
کش با بسته های مهم، کاهش زمان مورد نیاز برای استفاده از آنها
بسته ها

این گزینه یکی از حالت های دیگر یعنی تولید بسته را فعال می کند. در این حالت
فایل‌های ورودی ابتدا طبق معمول پردازش می‌شوند، اما پس از آن در بسته‌بندی می‌شوند
یک کتابخانه واحد و فایل های اضافی تولید می شود تا این کتابخانه قابل استفاده باشد
یک بسته معمولی Tcl

گزینه -چای، در زیر ببینید، آخرین حالت، نسل TEA را فراخوانی می کند. اگر هر دو گزینه،
به عنوان مثال -pkg و -چای مشخص شده است آخرین برنده مشخص شده است.

در این حالت گزینه های -تمیز و -زور بی ربط هستند و نادیده گرفته می شوند. متقابلا،
گزینه -libdir هم در این و هم مرتبط است -چای حالت.

هنگامی که این گزینه مشخص می شود نام پایه اولین آرگومان فایل بعد از
گزینه به عنوان نام بسته برای تولید استفاده می شود. اگر تمدید آن
فایل یک کتابخانه مشترک را نشان می دهد (".بنابراین"".sl"".dylib"، و".dll") نیز هست
از مجموعه فایل های ورودی حذف شد. آ "tcl" فایل به عنوان بخشی از ورودی نگهداری می شود. A
فرض بر این است که یک فایل بدون پسوند در واقع دارای یک "tcl"افزودن. الف
فایل بدون پسوند، اما سایر فایل های ورودی زیر مانند نام تلقی می شود
یک کتابخانه مشترک مناسب، و از مجموعه فایل های ورودی حذف شده است.

مثال:
=> نام بسته این است: foo
=> فایل ورودی: foo.tcl است
=> نام بسته این است: foo
=> فایل ورودی: bar.tcl است
=> نام بسته این است: foo
=> فایل ورودی: foo.tcl است
=> نام بسته این است: foo
=> فایل ورودی: bar.tcl است

نشان می دهد این گزینه در صورت مشخص شدن باعث می شود که سیستم پیکربندی را چاپ کند
هدف انتخاب شده به stdout و سپس خارج شوید. انتخاب هدف می تواند تحت تأثیر قرار گیرد
از طریق گزینه -هدف (به زیر مراجعه کنید)

-نمایش
این گزینه در صورت مشخص شدن باعث می شود سیستم کل انتخاب شده را چاپ کند
فایل پیکربندی به stdout و سپس خارج شوید. انتخاب فایل پیکربندی می تواند
از طریق گزینه تحت تأثیر قرار گیرد پیکربندی کنید (بالا را ببین).

-هدف نام
این گزینه با انتخاب کاربر، انتخاب پیش‌فرض build target را لغو می‌کند.
هنگامی که چندین بار مشخص می شود آخرین مقدار استفاده می شود. هدف نامگذاری شده باید وجود داشته باشد
در فایل پیکربندی انتخاب شده استفاده از گزینه -اهداف (به زیر مراجعه کنید) تا لیستی از
اهداف قابل قبول انتخاب فایل پیکربندی را می توان از طریق تحت تأثیر قرار داد
گزینه پیکربندی کنید (بالا را ببین).

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در زیر).

-اهداف
این گزینه، زمانی که مشخص شود، باعث می شود سیستم لیست همه شناخته شده ها را چاپ کند
اهداف از فایل پیکربندی انتخاب شده به stdout و سپس خارج شوید. انتخاب از
فایل پیکربندی را می توان از طریق گزینه تحت تأثیر قرار داد پیکربندی کنید (بالا را ببین).

-چای مشابه گزینه -pkg، با این تفاوت که حالت فراخوانی شده باینری تولید نمی کند،
اما یک سلسله مراتب دایرکتوری حاوی ".critclفایل، فایل های همراه آن، و a
سیستم ساخت شبیه TEA با اکثر کدهای پشتیبانی مورد نیاز (از جمله کپی ها
از بسته های critcl).

اگر هر دو گزینه، یعنی -pkg و -چای مشخص شده است آخرین برنده مشخص شده است.

در این حالت گزینه های -I, -L, -تمیز, -زور, -کش, -includedir, -قابل امکان,
غیرقابل قبولو -با-FOO بی ربط هستند و نادیده گرفته می شوند. در مقابل، گزینه -libdir
هم در این و هم مرتبط است -pkg حالت.

هنگامی که این گزینه مشخص می شود نام پایه اولین آرگومان فایل بعد از
گزینه به عنوان نام بسته برای تولید استفاده می شود. اگر تمدید آن
فایل یک کتابخانه مشترک را نشان می دهد (".بنابراین"".sl"".dylib"، و".dll") نیز هست
از مجموعه فایل های ورودی حذف شد. آ "tcl" فایل به عنوان بخشی از ورودی نگهداری می شود. A
فرض بر این است که یک فایل بدون پسوند در واقع دارای یک "tcl"افزودن. الف
فایل بدون پسوند، اما سایر فایل های ورودی زیر مانند نام تلقی می شود
یک کتابخانه مشترک مناسب، و از مجموعه فایل های ورودی حذف شده است.

مثال:
=> نام بسته این است: foo
=> فایل ورودی: foo.tcl است
=> نام بسته این است: foo
=> فایل ورودی: bar.tcl است
=> نام بسته این است: foo
=> فایل ورودی: foo.tcl است
=> نام بسته این است: foo
=> فایل ورودی: bar.tcl است

-با نام ارزش
این گزینه مقدار گزینه پیکربندی ساخت سفارشی را تعیین می کند نام به ارزش.

اطلاعات فقط در صورتی تایید می شود که یکی از ".critclفایل های ورودی را در واقع
یک گزینه پیکربندی ساخت سفارشی را با آن تعریف و استفاده می کند نام.

این گزینه در هنگام تولید بسته TEA بی ربط است (به گزینه مراجعه کنید -چای در بالا).

بسته ساختار


بسته های تولید شده توسط critcl دارای ساختار اصلی زیر هستند:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- License.terms (اختیاری)
|
+- tcl (اختیاری)
| +-
|
+-
+-

یادداشت

[1] فایل "pkgIndex.tcl" فایل فهرست بسته استاندارد مورد انتظار Tcl است
مدیریت بسته در حین جستجو برای بسته ها منبع می شود و این را اعلام می کند
بسته به Tcl با فایل های آن و نحوه مدیریت آنها.

[2] فایل "critcl-rt.tcl" یک فایل کمکی است که حاوی کد رایج استفاده شده توسط
"pkgIndex.tcl" برای انجام وظایف خود.

[3] فایل "مجوز.شرایط" اختیاری است و فقط در صورتی ظاهر می شود که ".critcl"پرونده کنید
بسته از دستور استفاده شده تولید می شود critcl:: مجوز برای اعلام بسته
نویسنده و مجوز

[4] همه فایل ها با دستور اعلام شده است critcl::tsources در زیر شاخه قرار می گیرند
"tcl".

[5] کتابخانه مشترک تولید شده توسط critcl در یک پلتفرم فرعی قرار می گیرد.
دایرکتوری.

کل ساختار، و به خصوص آخرین نکته، ما را قادر می سازد تا بعداً نتایج را ادغام کنیم
(برای یک بسته و نسخه) برای چندین پلتفرم هدف در یک فهرست واحد
ساختار بدون تضاد، با کپی کردن دایرکتوری های برتر روی یکدیگر. در
فقط فایل هایی که می توانند تداخل داشته باشند در قسمت هستند و "tclدایرکتوری ها، و برای این ما
بدانید که آنها در بین اهداف یکسان هستند. نتیجه چنین ادغامی به صورت زیر خواهد بود:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- License.terms (اختیاری)
|
+- tcl (اختیاری)
| +-
|
+-
| +-
+-
| +-
+-
+-

تغییرات برای نسخه 2.1


[1] اشکال ثابت که در آن critcl::tsources مسیرهای نسبی را نسبت به
دایرکتوری کاری فعلی به جای نسبت به ".critcl" فایل با استفاده از
دستور، مانند سایر دستورات از این نوع.

[2] داخلی های ثابت، از اطلاعات جمع آوری شده برای چندین " جلوگیری می کند.critcl"فایل به
نشت بین آنها به ویژه، critcl::tk یک گزینه پیکربندی جهانی نیست
دیگر.

[3] دستور را ثابت کرد critcl:: مجوز به عنوان یک عملیات تهی در حالت "کامپایل و اجرا"،
به جای پرتاب خطا

[4] تداخل برنامه critcl با کش نتیجه "کامپایل و اجرا" را رفع کرد
in -pkg حالت با استفاده از یک حالت کاملاً مجزا (و به طور پیش فرض گذرا)
دایرکتوری برای آن حالت

[5] رفع اشکال که در آن به یک "" تغییر می کند.critcl" فایل منجر به بازسازی برای حالت نشد
"کامپایل و اجرا". همه دستورات مربوط به API اکنون تغییرات UUID را تضمین می کنند.

[6] رفع اشکال در مدیریت باطن critcl::debug جایی که همراه ج-منابع از
آ ".critclفایل " با گزینه های اشکال زدایی کامپایل نشده است، اگرچه ".critcl" فایل
بود.

[7] رفع اشکال critcl::debug که مانع از تشخیص حالت "همه" در زمانی که بود
اولین آرگومان فرمان نیست.

[8] رفع اشکال در "preload.cجلوگیری از کامپایل آن در پلتفرم های غیر ویندوزی.

[9] رفع اشکال طولانی مدت در رسیدگی به واجد شرایط فضای نام در نام فرمان
استدلال از critcl::cproc و critcl::command. اکنون می توان الف را مشخص کرد
نام فرمان کاملا واجد شرایط بدون مشکل.

[10] تمدید/بازسازی شد critcl::tsources به عنوان روش متعارف اعلام "tcl"
فایل های همراه حتی برای حالت "کامپایل و اجرا".

[11] تمدید/بازسازی شد critcl::tsources اجازه دادن به استفاده از ".critcl" فایل به عنوان خودش
فایل همراه Tcl.

[12] تمدید شد critcl::چارچوب برای بررسی داخلی هدف ساخت 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::load مجبور به ساخت و بارگذاری یک ".critcl" فایل. این است
روش رسمی برای نادیده گرفتن طرح پیش‌فرض lazy-build-&-load-on-demand critcl
برای حالت "کامپایل و اجرا".

توجه داشته باشید که بعد از استفاده critcl::load / critcl:: شکست خورد در یک ".critcl"پرونده این نیست
امکان استفاده از دستورات critcl در آن فایل دیگر وجود دارد. انجام این کار باعث ایجاد خطا می شود.

[18] نسل پراگماهای '#خط' را برای استفاده گسترش داد اطلاعات قاب (در صورت موجود بودن) به
کامپایلر C را با شماره خط دقیق در ".critcl"پرونده برای
گزارش هشدارها و خطاها

[19] تمدید شد critcl:: بررسی کنید با ورود به سیستم برای کمک به رفع اشکال بررسی های زمان ساخت
محیط، به علاوه یک آرگومان اختیاری اضافی برای ارائه برچسب‌گذاری.

[20] یک دستور جدید اضافه کرد critcl::checklink که نه تنها سعی در بررسی محیط دارد
از طریق کامپایل کردن کد، و همچنین قابلیت پیوند آن.

[21] یک دستور جدید اضافه کرد critcl::msg برای پیام رسانی، مانند فرمان critcl::error برای
گزارش خطا. به همین ترتیب این قلابی است که کاربر بسته مجاز است
لغو کردن پیاده سازی پیش فرض که توسط حالت استفاده می شود گردآوری & اجرا هیچ کاری نمی کند در
پیاده سازی برای حالت تولید می کنند بسته پیام را به stdout چاپ می کند.

استفاده پیش بینی شده برای گزارش نتایج تعیین شده توسط critcl:: بررسی کنید و
critcl::checklink در حین ساخت، برای کمک به رفع اشکال زمانی که مشکلی پیش می آید
با چک

[22] داخلی پردازش آرگومان را آشکار کرد critcl::proc برای استفاده پیشرفته
کاربران دستورات جدید هستند

[1] critcl::argnames

[2] critcl::argcnames

[3] critcl::argcsignature

[4] critcl::argvardecls

[5] critcl::argconversion

لطفا به بخش مراجعه کنید فناوری جاسازی شده C رمز از critcl اسناد بسته برای
جزئیات.

[23] بسته critcl را برای رهگیری گسترش داد بسته ارائه و فایل -> را ضبط کنید
نقشه برداری نام بسته به علاوه دیگر تغییرات داخلی اکنون امکان استفاده از namespace را فراهم می کند
نام بسته ها در حالی که هنوز از نام مسیرهای مناسب و تابع init استفاده می شود.

[24] دستورات استفاده نشده را حذف کرد critcl::بهینه سازی و critcl::شامل.

[25] سقوط کرد -لیب حالت از برنامه critcl.

[26] بقایای پشتیبانی از Tcl 8.3 و قبل از آن کاهش یافت.

تغییرات برای نسخه 3


[1] فرمان critcl::پلتفرم در نسخه 2.1 منسوخ شد و جانشین آن شد
critcl::پلتفرم هدف، اما برای سازگاری نگهداری می شود. اکنون حذف شده است.

[2] فرمان critcl::تدوین شده در نسخه 2.1 با معناشناسی در حفظ شد
تناقض با آن، برای سازگاری. این تناقض برطرف شد
تغییر معنی شناسی قابل مشاهده دستور برای مطابقت با نام آن.

[3] تغییر به نسخه 3 به دلیل دو ناسازگار قابل مشاهده ضروری شد
تغییرات بالا

[4] بسته برنامه را با مدیریت کد یک گزینه جدید گسترش داد -چای. مشخص کردن
این گزینه حالت خاصی را فراخوانی می کند که در آن critcl یک بسته TEA تولید می کند، یعنی wraps
ورودی به سلسله مراتب دایرکتوری و فایل های پشتیبانی که آن را TEA-
سیستم ساخت شبیه

این گزینه جدید، و -pkg، یکدیگر را مستثنی می کنند. اگر هر دو مشخص شده باشد آخرین مورد استفاده است
گزینه اولویت دارد

سلسله‌مراتب دایرکتوری بسته‌های تولید شده عمدتاً مستقل است، اما به طور کامل نیست.
این نه تنها به نصب کار Tcl، بلکه به نصب کار نیز نیاز دارد
از بسته ها md5 و cmdline. هر دوی اینها توسط Tcllib بسته نرم افزاری
لازم نیست، اما توصیه می شود هر یک از بسته هایی که می توانند نصب شوند
تسریع عملیات md5، به عنوان مثال کیت رمز, tcllibc، یا ترف.

[5] بسته critcl را با یک دستور جدید گسترش داد critcl::اسکن در پیش گرفتن مسیر a
".critclفایل، اسکن ایستا آن، و بازگرداندن مجوز، نسخه، فهرستی از
فایل های همراه آن، لیست API های وارد شده، و لیست سفارشی های مشخص شده توسط توسعه دهنده
گزینه های پیکربندی این داده ها پایه و اساس بسته بندی TEA توصیف شده است
در بالا.

توجه داشته باشید که این یک ایستا اسکن کنید. در حالی که سایر حالت های ساخت می توانند (باید) آن را اجرا کنند
".critcl"پرونده کنید و تصمیمات پلتفرم خاص را در مورد کد C مونتاژ شده بگیرید،
فایل های همراه و غیره. حالت بسته بندی TEA در موقعیتی نیست که بتواند پلتفرم ایجاد کند.
تصمیمات خاص باید هر چیزی را که ممکن است مورد نیاز باشد بپیچد
هنگام ساختن واقعی از این رو اسکن استاتیک. با این حال این مجموعه خاص خود را دارد
مشکلات، یعنی ناتوانی در کشف هر گونه ساختار پویا از همراه
مسیرهای فایل، حداقل به تنهایی. بدین ترتیب:

[6] API مورد استفاده بسته های مبتنی بر critcl را با دستور گسترش داد critcl::مالک است. در حالی که
این دستور توسط حالت های ساخت معمولی که اسکنر استاتیک توضیح داده نادیده گرفته می شود
در بالا آرگومان های خود را به عنوان نام فایل های همراهی می گیرد که باید بسته بندی شوند
در بسته TEA قرار گرفت و در غیر این صورت توسط اسکنر قابل تشخیص نبود، مانند
به دلیل مسیرهای پویا به critcl::tsources, critcl::csources، دریافت منبع
به طور مستقیم، یا به سادگی فایل های داده کمکی هستند.

[7] API مورد استفاده بسته های مبتنی بر critcl را با دستور گسترش داد critcl::api برای
مدیریت جداول خرد، خواه استفاده از آنها، و/یا اظهارنامه و صادرات.

لطفا به بخش مراجعه کنید خرد خرد جدول مدیریت از critcl اسناد بسته برای
جزئیات.

[8] API مورد استفاده بسته های مبتنی بر critcl را با دستور گسترش داد critcl::userconfig
برای مدیریت گزینه های پیکربندی سفارشی مشخص شده توسط توسعه دهنده، چه آنها باشد
استفاده و/یا اعلامیه

لطفا به بخش مراجعه کنید سفارشی ساختن پیکر بندی از critcl اسناد بسته
برای جزئیات بیشتر.

[9] API مورد استفاده بسته های مبتنی بر critcl را با دستورات گسترش داد
critcl::شرح, critcl::خلاصه, critcl::موضوع, critcl::metaو
critcl::buildrequirement برای اعلام متا داده های TEApot برای/درباره
بسته.

لطفا به بخش مراجعه کنید بسته متا داده ها از critcl اسناد بسته برای
جزئیات.

تغییرات برای نسخه 3.0.1


[1] رفع اشکال در اطراف. به تفصیل:

[2] ضبط ثابت مورد نیاز نسخه Tcl. نام و نسخه بسته را نگه دارید
با هم، متا داده های تولید شده را شکسته و فرمان بارگذاری بسته را ایجاد می کند.

[3] تصحیح اسکریپت‌های ساخت: هنگام نصب، یا بسته‌بندی برای TEA، هرگونه گمشده را ایجاد کنید.
دایرکتوری

[4] اسکریپت های ساخت را تغییر داد تا در هنگام پنجره از برنامه به درستی از برنامه خارج شود
رابط کاربری گرافیکی آنها از طریق دکمه (X) بسته می شود.

[5] 8.5-ism (wb باز) را که در اسکریپت ساخت اصلی قرار گرفته بود حذف کرد.

[6] اسکریپت‌های ساخت نمونه را اصلاح کرد تا خروجی‌های مختلف را جدا کند
نمونه ها (و بسته ها) با افزودن خطوط خالی.

[7] stack::c مثال رفع اشکال: شامل اعلان‌های API برای استفاده در فایل‌های همراه.

[8] اسناد را گسترش داد: به نیاز به نصب کارکرد C اشاره کرد
گردآورنده

[9] تعاریف و کد هدف ویندوز را برای مدیریت فایل‌های مانیفست مورد استفاده گسترش داد
توسط محیط های توسعه MS مدرن. توجه داشته باشید که این کد هر دو را مدیریت می کند
امکانات، محیط با استفاده از مانیفست، و (قدیمی(er)) محیط های بدون.

[10] تعاریف و کدهای هدف ویندوز 64 بیتی را برای تشخیص خودکار نیاز به گسترش داد.
کتابخانه کمکی "bufferoverflowU.lib" و پیکربندی مجدد کامپایل و پیوند
به درستی دستور می دهد ما فرض می کنیم که کتابخانه باید در صورت وجود پیوند داده شود.
اگر کتابخانه موجود باشد، اما نیازی به آن نباشد، ضرری ندارد. فقط زائد
ما کتابخانه را در مسیرهای مشخص شده توسط متغیر محیطی LIB جستجو می کنیم.

تغییرات برای نسخه 3.0.2


[1] مشکل در حالت کامپایل و اجرا که در آن دستورات وارد شده در فهرست خودکار نیستند، رفع شد
با دستور [ناشناس] Tcl پیدا شد.

[2] رفع عدم تطابق کلید آرایه شکستن استفاده از داده های مشتری و حذف تابع برای
روش. گزارش شده توسط Jos DeCoster، با پچ.

[3] یک گزینه خط فرمان را پیاده سازی کرد -L، معادل گزینه -I، فقط برای کتابخانه
مسیرهای جستجو

[4] مسائل 5 و 8 github را رفع کرد. کار بر روی یک متغیر گمشده ::errorInfo. آی تی
باید همیشه وجود داشته باشد، با این حال به نظر می رسد تجدید نظرهایی در مورد Tcl وجود دارد
این فرض را نقض کند.

تغییرات برای نسخه 3.0.3


[1] مشکلات github 5 و 8، برای نمونه اسکریپت های build.tcl، رفع شد. کار در اطراف a
متغیر گم شده ::errorInfo. همیشه باید وجود داشته باشد، هر چند به نظر می رسد وجود دارد
تجدید نظرهای Tcl که پیرامون آن این فرض را نقض می کند.

تغییرات برای نسخه 3.0.4


[1] تولید ثابت نام اولیه بسته زمانی که کد ورودی از آن خوانده می‌شود
stdin و مسیر مناسبی ندارد.

[2] مشکل 11 github رفع شد. اکنون از /LIBPATH به جای -L در ویندوز استفاده می‌کنید (libinclude
تنظیمات پیکربندی).

[3] critcl را گسترش داد تا قالب -l:path گزینه های -l را مدیریت کند. GNU ld 2.22+ این کار را انجام می دهد
با جستجوی مسیر همانطور که هست. هنگام تعیین کتابخانه های استاتیک، به عنوان -l ساده، خوب است
به دنبال کتابخانه های مشترک در اولویت نسبت به استاتیک است. critcl اکنون آن را اداره می کند، همانطور که
گنوهای قدیمی تر آن را نمی فهمند، و نه پیوند دهنده های مختلف فروشنده خاص.

[4] مشکل github شماره 12 رفع شد. Critcl اکنون نسخه MSVC در حال استفاده و استفاده را تعیین می کند
برای جابجایی بین گزینه های مختلف اشکال زدایی پیوند. مدیریت را ساده کرد
bufferoverflowU.lib نیز با استفاده از مکانیزم یکسان و فروپاشی این دو
بخش های پیکربندی که ما دوباره به یک قسمت تبدیل کردیم.

[5] برای جلوگیری از درج #خط پراگما در کد C ایجاد شده مجدداً کار کرد
محدودیت در آرگومان شماره خط اعمال شده توسط کامپایلرهای مختلف، و بیشتر باشد
دقیق.

[6] پردازش آرگومان اصلاح شده. گزینه -libdir اکنون به -L برای آرگومان خود نیز دلالت دارد.

[7] مدیریت گسترده گزینه -show (critcl::showconfig) برای فهرست کردن مسیر
فایل پیکربندی که داده ها از آن می آیند. برای اشکال زدایی پیکربندی خوب است
در حال پردازش.

[8] اسکریپت ساخت را با اهداف توسعه داد تا اسناد جاسازی شده را بازسازی کند،
و نمودارها، و برای تولید نسخه.

تغییرات برای نسخه 3.0.5


[1] رفع اشکال در کد جدید برای #خط پراگما که هنگام تعیین کد C ایجاد می شود
بدون فضای خالی پیشرو

[2] اسناد را گسترش داد تا صفحات مدیریت مجوز، بازیابی منبع،
راهنمای نصب و توسعه دهنده

تغییرات برای نسخه 3.0.6


[1] رفع مشکل github 10. برنامه critcl اکنون یک کد خروج مناسب را ارائه می دهد (1)
در مورد شکست ساخت، به جای اینکه همیشه موفقیت را نشان دهد (وضعیت 0).

[2] مشکل 13 github رفع شد. مدیریت bufferoverflowU.lib برای نسخه‌های انتشار
با مدیریت ساخت های اشکال زدایی سازگار نیست. اکنون به طور یکسان اداره می شود
(مشروط) با هر دو مورد.

[3] پاکسازی اسناد، عمدتاً در راهنمای نصب، و README.md نشان داده شده توسط
گیتهاب

تغییرات برای نسخه 3.0.7


[1] رفع کد تولید شده توسط دستور critcl::c++. کد ارسال شده یک غیر
جدول رشته ای استاتیک به Tcl_GetIndexFromObj، بر خلاف قرارداد، که
مستلزم داشتن یک آدرس ثابت جدول است. این یک خاطره در انتظار بود
به وقوع پیوستن. با تشکر از برایان گریفین که ما را در مورد مشکل کلی آگاه کرد.

تغییرات برای نسخه 3.1


[1] یک بسته جدید در سطح بالاتر اضافه شد critcl::iassoc.

این بسته ایجاد کد مرتبط با داده ها را با یک مفسر ساده می کند
از طریق Tcl's Tcl_(Get|Set)AssocData() API ها کاربر می تواند روی داده های خود تمرکز کند در حالی که
تمام کد C دیگ بخار لازم برای پشتیبانی از این بسته توسط بسته تولید می شود.

این بسته از چندین ویژگی جدید استفاده می کند که به هسته اضافه شده است critcl
بسته، زیر را ببینید.

[2] بسته سطح بالاتر را اضافه کرد critcl::class.

این بسته ایجاد اشیاء سطح C را با کلاس و نمونه ساده می کند
دستورات کاربر می تواند یک تعریف کلاس با متغیرهای کلاس و نمونه بنویسد
و -روشهایی شبیه به کلاس TclOO، با تمام کدهای C دیگ بخار لازم
پشتیبانی از این تولید شده توسط بسته.

این بسته از چندین ویژگی جدید استفاده می کند که به هسته اضافه شده است critcl
بسته، زیر را ببینید.

[3] API را برای مدیریت ابرداده TEApot گسترش داد. دستور را اضافه کرد critcl::meta؟ به
اطلاعات ذخیره شده را پرس و جو کنید استفاده اصلی که در حال حاضر در نظر گرفته شده است، بازیابی است
نام بسته فعلی توسط دستورات ابزار، برای استفاده در نام های ساخته شده. این
اطلاعات خاصی به دلیل اسکن ثابت بسته همیشه در دسترس است
فایل در اجرای اولین دستور critcl.

بسته های جدید critcl::iassoc و critcl::class (به بالا مراجعه کنید) کاربران این هستند
فرمان

[4] API را با دستوری گسترش داد، critcl::name2c، فرآیند تبدیل را آشکار می کند
یک نام Tcl به نام پایه، فضای نام و فضای نام C. این امکان سطح بالاتر را فراهم می کند
مولدهای کد برای تولید همان نوع شناسه های C مانند critcl خود.

بسته جدید critcl::class (به بالا مراجعه کنید) کاربر این دستور است.

[5] API را با دستوری گسترش داد، critcl::منبع، اجرای دستورات critcl موجود در
یک فایل جداگانه در زمینه فایل فعلی. این امکان مدیریت آسان تر را فراهم می کند
از بدنه‌های بزرگ‌تری از کدها استفاده می‌کند، زیرا به کاربر اجازه می‌دهد آن‌ها را به آسان‌تر تقسیم کند
هضم تکه های کوچکتر بدون ایجاد بسته های متعدد.

[6] مربوط به مورد قبلی، API را با دستوراتی برای منحرف کردن مجموعه گسترش داد
کد C تولید شده در حافظه این کار استفاده از دستورات را آسان تر می کند
کد C تعبیه شده در مولدهای کد سطح بالاتر.

بخش را ببینید پیشرفته: تنوع برای جزئیات دستورات ارائه شده

بسته جدید critcl::class (نگاه کنید به بالا) یکی از کاربران این امکانات است.

[7] API را با دستوراتی گسترش داد که به توسعه دهندگان در تولید C مناسب کمک می کند
#خط بخشنامه ها این به تولیدکنندگان کد سطح بالاتر اجازه می دهد تا تولید و درج کنند
دستورالعمل های خود را، اطمینان از اینکه خطاهای کامپایل در کد آنها به درستی است
نسبت داده.

بخش را ببینید پیشرفته: موقعیت مکانی: مدیریت برای جزئیات دستورات ارائه شده

بسته های جدید critcl::iassoc و critcl::class (به بالا مراجعه کنید) کاربران این موارد هستند
امکانات

[8] API را با دستوراتی گسترش داد که به کاربران امکان تعریف آرگومان سفارشی را می داد
و انواع نتیجه برای ::critcl::cproc.

بخش را ببینید پیشرفته: در حال گسترش cproc برای جزئیات دستورات ارائه شده

تغییرات برای نسخه 3.1.1


[1] رفع اشکال در اطراف. به تفصیل:

[2] نسل خطاهای #args اشتباه را رفع کرد critcl::cproc و کد مشتق شده
(critcl::class روش های مبتنی بر cproc). در صورت عدم وجود آرگومان از NULL استفاده کنید و بگیرید
جبران را در نظر بگیرید.

[3] رسیدگی به نام بسته ها توسط critcl::class. فراموش کرده اید که ممکن است حاوی آن باشند
جداکننده های فضای نام به نسخه 1.0.1 برخورد کرد.

[4] تمدید الف critcl::class پیام خطا در ایجاد نمونه برای وضوح ایجاد شد.
به نسخه 1.0.2 برخورد کرد.

تغییرات برای نسخه 3.1.2


[1] افزایش. به تفصیل:

[2] تمدید شد critcl::cproc تا بتوانیم آرگومان های اختیاری را به صورت محدود مدیریت کنیم.
این به طور خودکار در دسترس است critcl::class روش های مبتنی بر cproc نیز.

[3] رفع اشکال در اختصاص دهید شبیه سازی برای Tcl 8.4. متغیرهای استفاده نشده را به درستی بر روی تنظیم کنید
رشته خالی نسخه بامپ بسته شبیه سازی lassign84 به 1.0.1.

تغییرات برای نسخه 3.1.3


[1] افزایش. به تفصیل:

[2] نوع آرگومان جدید "psstring" را برای "رشته پاسکال" اضافه کرد، یک رشته شمارش شده، یعنی یک
ترکیبی از اشاره گر رشته و طول رشته

[3] روش های جدید اضافه شده است critcl::argtypesupport و ::critcl::argsupport برای تعریف و استفاده
کد پشتیبانی اضافی برای یک نوع آرگومان که در اینجا توسط "psstring" در بالا استفاده می شود
ساختار لازم را تعریف کنید.

[4] نیمه رفع اشکال در بسته ها critcl::class و critcl::iassoc. پراگما برای AS
اسکنر متا داده برای اطمینان از اینکه فایل های قالب بخشی از بسته هستند.
نسخه ها به ترتیب به 1.0.4 و 1.0.1 رسیدند.

تغییرات برای نسخه 3.1.4


[1] رفع اشکال در بسته critcl::class. ایجاد یک فیلد ساختگی در ساختار کلاس if
کلاس هیچ متغیر کلاسی ندارد. بدون این تغییر ساختار خالی خواهد بود،
و تعدادی از کامپایلرها قادر به مدیریت چنین نوع نیستند.

[2] یک اشتباه تایپی که پیکربندی win64 را شکست.

[3] رفع مشکل شماره 16، یک اشتباه تایپی در اسناد فرمان critcl::class.

تغییرات برای نسخه 3.1.5


[1] مشکل شماره 19 رفع شد. عبارت منظم را با استخراج شماره نسخه MSVC ساخته است
برای اینکه آن را روی سیستم های زبان آلمانی کار کند، کلی تر است. این ممکن است باید باشد
در آینده، برای سایر مناطق ویندوز، مورد بازبینی قرار خواهد گرفت.

[2] مشکل شماره 20 رفع شد. گزینه ساخته شده - کار چای روی ویندوز، حداقل در یک شبیه سازی یونیکس
محیطی مانند msys/mingw.

تغییرات برای نسخه 3.1.6


[1] مشکل شماره 21 رفع شد. در حالی که تعریف چندگانه از متغیرهای اشاره گر جدول خرد بود
برای همه پیوندهای C که تاکنون دیده شده است، پیوندهای C++ اصلاً این را دوست نداشتند.
کد را دوباره کار کرد تا اطمینان حاصل شود که این مجموعه از متغیرها فقط یک بار در داخل تولید می شود
بسته بندی در اطراف تمام قطعات برای جمع آوری.

[2] رفع مشکل شماره 22، رسیدگی به آرگومان های شناسه فرمان
critcl::command, critcl::cprocو critcl::cdata. اکنون هر Tcl را به درستی مجاز می کنیم
شناسه و شناسه های داخلی C مناسب از آنها تولید کنید.

به عنوان بخشی از این امضای فرمان critcl::name2c تغییر کرد. دستور الان
لیستی از چهار مقدار را به جای سه ارائه می دهد. ارزش جدید در
پایان

اقتباس بیشتر اجرای بسته critcl::class، یک کاربر از
critcl::name2c. این بسته اکنون در نسخه 1.0.6 است و به critcl 3.1.6 نیاز دارد

در نهایت سوء مدیریت گزینه رفع شد -cname in critcl::commandو
critcl::cproc.

[3] مشکل شماره 23 رفع شد.

تغییرات برای نسخه 3.1.7


[1] مشکل شماره 24 رفع شد. استخراج و نمایش بی قید و شرط هشدارهای کامپایلر موجود در
لاگ ساخت از عدم دست دادن اخطار توسط کاربران جلوگیری می کند که در عین حال باعث ایجاد بیلد نمی شوند
برای شکست، ممکن است هنوز نشان دهنده مشکلات باشد.

[2] ویژگی جدید. قلاب خروجی همه خروجی های کاربر غیر پیام رسان اکنون از طریق مسیریابی می شوند
فرمان critcl::چاپو کاربران مجازند هنگام استفاده از critcl آن را لغو کنند
برنامه کاربردی به عنوان بسته

[3] ویژگی جدید، توسط آشوک پی نادکارنی. پیکربندی‌های پلتفرم می‌توانند مقادیری را از آن به ارث ببرند
تنظیماتی که قبل از آنها تعریف شده است.

تغییرات برای نسخه 3.1.8


[1] مشکل با شاخص های بسته تولید شده برای Tcl 8.4 رفع شد. به لیست دستورات بپیوندید
با نیم فاصله، نه خط جدید.

[2] مشکل شماره 26 رفع شد که موارد استفاده ای را که فراموش کرده بودم در حین رفع آن در نظر بگیرم مطرح کرد
اشکال شماره 21 (به critcl 3.1.6 مراجعه کنید).

تغییرات برای نسخه 3.1.9


[1] مشکل شماره 27 رفع شد. تعاریف پلتفرم گمشده برای لینوکس های مختلف و
اهداف OS X

[2] مشکل شماره 28 رفع شد. پرچم‌های گمشده -mXX برای پیوند در لینوکس اضافه شد-{32,64}-*
اهداف.

[3] مشکل شماره 29 رفع شد. جایگزین استفاده از اطلاعات خام "cheaders" در پردازش شد
از "cdefines" با مناسب شامل دستورالعمل های ناشی از آن است.

[4] مشکل پشت رد درخواست کشش شماره 30 توسط اندرو شادورا برطرف شد. به صورت پویا
اعلان های متغیر stubs را از فایل های هدر Tcl استخراج کرده و تولید کنید
تطبیق تعاریف متغیر برای استفاده در کد بسته. کد تولید شده خواهد بود
اکنون همیشه با هدرها سازگار باشید، حتی اگر کپی خود critcl از آنها باشد
با هدرهای سیستم جایگزین شده است.

[5] مشکل شماره 31 رفع شد. پچ پذیرفته شده توسط اندرو شادورا، با تغییرات (نظرات)، برای
ادغام راحت تر critcl با سیستم های بسته سیستم عامل، جایگزین کپی های critcl از
هدرهای Tcl با خودشان.

[6] مشکل شماره 32 رفع شد. درخواست کشش ادغام شده توسط اندرو شادورا. غلط املایی مختلف در
مستندات و نظرات

[7] مشکل شماره 33 رفع شد. فایل هایی که با نقطه شروع می شوند را بهتر مدیریت کنید.

AUTHORS


ژان کلود ویپلر، استیو لندر، آندریاس کاپریس

با استفاده از خدمات onworks.net از critcl به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    فازر
    فازر
    Phaser یک باز سریع، رایگان و سرگرم کننده است
    منبع چارچوب بازی HTML5 که ارائه می دهد
    WebGL و Canvas Rendering در سراسر
    مرورگرهای وب دسکتاپ و موبایل بازی ها
    می تواند با ...
    دانلود فازر
  • 2
    موتور VASSAL
    موتور VASSAL
    VASSAL یک موتور بازی برای ایجاد است
    نسخه های الکترونیکی تخته سنتی
    و بازی های کارتی پشتیبانی می کند
    رندر و تعامل قطعه بازی،
    و ...
    دانلود VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF یک کتابخانه جاوا برای ایجاد است
    و ویرایش فایل های PDF با LGPL و
    مجوز منبع باز MPL. OpenPDF است
    LGPL/MPL جانشین منبع باز iText،
    و ...
    OpenPDF - Fork of iText را دانلود کنید
  • 4
    GIS SAGA
    GIS SAGA
    SAGA - سیستم برای خودکار
    تجزیه و تحلیل جغرافیایی - یک جغرافیا است
    نرم افزار سیستم اطلاعات (GIS) با
    قابلیت های بسیار زیاد برای داده های جغرافیایی
    پردازش و آنا...
    دانلود SAGA GIS
  • 5
    جعبه ابزار برای جاوا/JTOpen
    جعبه ابزار برای جاوا/JTOpen
    جعبه ابزار IBM برای جاوا / JTOpen یک است
    کتابخانه کلاس های جاوا که از
    کلاینت/سرور و برنامه نویسی اینترنتی
    مدل های سیستمی که دارای OS/400 است،
    i5/OS، o...
    جعبه ابزار را برای جاوا/JTOpen دانلود کنید
  • 6
    D3.js
    D3.js
    D3.js (یا D3 برای اسناد داده محور)
    یک کتابخانه جاوا اسکریپت است که به شما اجازه می دهد
    برای تولید داده های پویا و تعاملی
    تجسم در مرورگرهای وب با D3
    شما...
    D3.js را دانلود کنید
  • بیشتر "

دستورات لینوکس

Ad