| CSC(1) | General Commands Manual | CSC(1) |
نام (NAME)
csc —
برنامه
گرداننده
برای
کامپایلر
اسکیم CHICKEN
خلاصه دستور (SYNOPSIS)
csc [OPTION ...]
[FILENAME ...]
توضیحات (DESCRIPTION)
دستور
csc
برنامهای
است که
کامپایلر CHICKEN
و کامپایلر C
سیستم
میزبان را
برای تولید
یک فایل
اجرایی از
فایل منبع
اسکیم (Scheme) یا
فایلهای C
تولیدشده
توسط CHICKEN
فراخوانی
میکند.
پارامتر FILENAME نام فایل منبع اسکیم با پسوند اختیاری، یا نام فایل منبع C/C++/Objective-C، فایل شیء (object) یا کتابخانه با پسوند است. گزینه OPTION میتواند یکی از موارد زیر باشد:
گزینههای عمومی:
-h,-help- نمایش متن راهنما و خروج.
-v,-verbose- نمایش یادداشتهای کامپایلر و فراخوانیهای ابزارها.
-vv- نمایش اطلاعات درباره پیشرفت ترجمه کد.
-vvv- نمایش اطلاعات درباره تمام مراحل کامپایل.
-version- نمایش نسخه کامپایلر اسکیم و خروج.
-release- نمایش شماره انتشار و خروج.
گزینههای فایل و مسیر:
-oFILENAME,-output-fileFILENAME- تعیین نام فایل اجرایی مقصد.
-IPATHNAME,-include-pathPATHNAME- تعیین مسیر جایگزین برای فایلهای include.
-to-stdout- نوشتن خروجی کامپایلر در stdout (به معنی -t است).
-s,-shared,-dynamic- تولید فایل شیء اشتراکی با قابلیت بارگذاری پویا (shared object).
گزینههای زبان:
-DSYMBOL,-featureSYMBOL- ثبت شناسه ویژگی (feature identifier).
-no-featureSYMBOL- غیرفعال کردن شناسه ویژگی توکار.
-c++- کامپایل از طریق یک فایل منبع C++ (.cpp).
-objc- کامپایل از طریق فایل منبع Objective-C (.m).
گزینههای مرتبط با نحو (Syntax):
-i,-case-insensitive- عدم حفظ بزرگی و کوچکی حروف در نمادهای خواندهشده.
-K,-keyword-styleSTYLE- فعالسازی نحو جایگزین کلیدواژه (پیشوند، پسوند یا هیچکدام).
-no-parentheses-synonyms- غیرفعال کردن مترادفهای جداکننده لیست.
-no-symbol-escape- غیرفعال کردن پشتیبانی از نمادهای اسکیپشده.
-r7rs-syntax- غیرفعال کردن افزونههای CHICKEN برای نحو R7RS.
-compile-syntax- ماکروها در زمان اجرا در دسترس قرار میگیرند.
-jMODULE,-emit-import-libraryMODULE- نوشتن اطلاعات ماژول در زمان کامپایل در فایلی جداگانه.
-J,-emit-all-import-libraries- تولید کتابخانههای ایمپورت برای تمام ماژولهای تعریفشده.
-no-compiler-syntax- غیرفعالسازی بسط ماکروهای کامپایلر.
-mNAME,-moduleNAME- قرار دادن کد کامپایلشده در ماژولی با نام دادهشده.
-M,-module-registration- همیشه کد ثبت ماژول تولید شود، حتی زمانی که کتابخانههای ایمپورت منتشر میشوند.
-N,-no-module-registration- کد ثبت
ماژول
تولید نشود.
اولویت
بالاتری
نسبت به
-module-registrationدارد.
گزینههای ترجمه (Translation):
-x,-explicit-use- عدم استفاده از واحدهای ‘library’ و ‘eval’ به صورت پیشفرض.
-P,-check-syntax- توقف کامپایل پس از بسط ماکروها.
-A,-analyze-only- توقف کامپایل پس از نخستین مرحله تحلیل.
گزینههای اشکالزدایی (Debugging):
-w,-no-warnings- غیرفعالسازی هشدارها.
-d0,-d1,-d2,-d3,-debug-levelNUMBER- تنظیم سطح اطلاعات اشکالزدایی در دسترس.
-no-trace- غیرفعالسازی اطلاعات ردیابی اولیه اشکالزدایی.
-profile- تولید اطلاعات پروفایل عملکرد توسط فایل اجرایی.
-accumulate-profile- تولید اطلاعات پروفایل در فایل اجرایی به صورت الحاقی (append).
-profile-nameFILENAME- نام فایل اطلاعات پروفایل تولیدشده.
-typesFILENAME- بارگذاری پایگاهداده انواع داده اضافی.
گزینههای بهینهسازی:
-O,-O0,-O1,-O2,-O3,-O4,-O5,-optimize-levelNUMBER- فعالسازی مجموعههای مشخصی از گزینههای بهینهسازی.
-optimize-leaf-routines- فعالسازی بهینهسازی توابع برگ (leaf routine).
-no-usual-integrations- روالهای استاندارد ممکن است دوباره تعریف شوند.
-u,-unsafe- غیرفعال کردن بررسیهای ایمنی.
-local- فرض بر این است که متغیرهای سراسری تنها در فایل جاری تغییر میکنند.
-b,-block- فعالسازی کامپایل بلوکی.
-disable-interrupts- غیرفعال کردن وقفهها در کد کامپایلشده.
-f,-fixnum-arithmetic- فرض بر اینکه تمام اعداد از نوع fixnum هستند.
-disable-stack-overflow-checks- غیرفعال کردن تشخیص سرریز پشته (stack overflow).
-inline- فعالسازی درونخطسازی (inlining).
-inline-limitLIMIT- تنظیم آستانه درونخطسازی.
-inline-global- فعالسازی درونخطسازی میانماژولی.
-specialize- انجام تخصیص ویژه مبتنی بر نوع برای فراخوانیهای اولیه.
-oiFILENAME,-emit-inline-fileFILENAME- تولید فایل
شامل
روالهای
قابل
درونخطسازی
سراسری
(مستلزم
-inline-local-است). -consult-inline-fileFILENAME- بارگذاری صریح فایل اینلاین.
-otFILENAME,-emit-types-fileFILENAME- نوشتن اطلاعات اعلان نوع در فایل.
-no-argc-checks- غیرفعال کردن بررسیهای تعداد آرگومانها.
-no-bound-checks- غیرفعال کردن بررسیهای متغیر مقید.
-no-procedure-checks- غیرفعال کردن بررسیهای فراخوانی روال.
-no-procedure-checks-for-usual-bindings- غیرفعال کردن بررسی فراخوانی روال تنها برای پیوندهای معمول.
-no-procedure-checks-for-toplevel-bindings- غیرفعال کردن بررسی فراخوانی روال برای پیوندهای سطح بالا.
-strict-types- فرض اینکه متغیرها نوع داده خود را تغییر نمیدهند.
-lfa2- انجام مرحله اضافی تحلیل جریان سبکوزن (flow-analysis).
-unroll-limitLIMIT- تعیین محدودیت درونخطسازی برای فراخوانیهای بازگشتی به خود.
-merge-reusable-closures- فعال کردن بازاستفاده از کلوژرها (closures).
- فعال کردن اشتراکگذاری کلوژرها.
گزینههای پیکربندی:
-unitNAME- کامپایل فایل به عنوان یک واحد کتابخانه.
-usesNAME- اعلان واحد کتابخانه به عنوان استفادهشده.
-heap-sizeNUMBER- تعیین اندازه هیپ (heap) فایل اجرایی کامپایلشده.
-nurseryNUMBER-stack-sizeNUMBER- تعیین اندازه nursery فایل اجرایی کامپایلشده.
-XFILENAME,-extendFILENAME- بارگذاری فایل قبل از آغاز کامپایل.
-preludeEXPRESSION- افزودن عبارت به ابتدای فایل منبع.
-postludeEXPRESSION- افزودن عبارت به انتهای فایل منبع.
-prologueFILENAME- گنجاندن فایل قبل از فایل منبع اصلی.
-epilogueFILENAME- گنجاندن فایل بعد از فایل منبع اصلی.
-e,-embedded- کامپایل به
صورت
تعبیهشده
(embedded) (عدم
تولید
‘
main()’). -gui- کامپایل به عنوان برنامه کاربردی دارای رابط گرافیکی (GUI).
-linkNAME- پیوند دادن
افزونه با
فایل
اجرایی
کامپایلشده
(به معنی
‘
-uses-است’). -RNAME,-require-extensionNAME- الزام افزونه و وارد کردن (import) آن در کد کامپایلشده.
-dll,-library- کامپایل چندین واحد درون یک کتابخانه پویا.
-libdirDIRECTORY- بازنویسی مکان دایرکتوری کتابخانه زمان اجرا.
گزینههای مربوط به سایر مراحل:
-COPTION- ارسال گزینه به کامپایلر C.
-LOPTION- ارسال گزینه به پیونددهنده (linker).
-I<DIR>- ارسال “-I<DIR>” به کامپایلر C (افزودن مسیر include).
-L<DIR>- ارسال “-L<DIR>” به پیونددهنده (افزودن مسیر کتابخانه).
-k- نگهداشتن فایلهای میانی.
-c- توقف پس از کامپایل به فایلهای شیء (object).
-t- توقف پس از ترجمه به C.
-ccCOMPILER- انتخاب کامپایلر C غیر از حالت پیشفرض.
-cxxCOMPILER- انتخاب کامپایلر C++ غیر از حالت پیشفرض.
-ldCOMPILER- انتخاب پیونددهنده غیر از حالت پیشفرض.
-static- پیوند استاتیک با کتابخانهها و افزونههای CHICKEN.
-F<DIR>- ارسال “-F<DIR>” به کامپایلر C (افزودن مسیر فریمورک در Mac OS X).
-frameworkNAME- ارسال به پیونددهنده در Mac OS X.
-rpathPATHNAME- افزودن دایرکتوری به مسیر جستجوی کتابخانه زمان اجرا.
-Wl,...- ارسال گزینهها به پیونددهنده.
-strip- حذف نمادهای اضافی (strip) از باینری خروجی.
گزینههای پرسوجو و استعلام:
-home- نمایش دایرکتوری خانگی (جایی که فایلهای پشتیبانی قرار میگیرند).
-cflags- نمایش فلگهای مورد نیاز کامپایلر C و خروج.
-ldflags- نمایش فلگهای مورد نیاز پیونددهنده و خروج.
-libs- نمایش کتابخانههای مورد نیاز و خروج.
-cc-name- نمایش نام کامپایلر C پیشفرض مورد استفاده.
-cxx-name- نمایش نام کامپایلر C++ پیشفرض مورد استفاده.
-ld-name- نمایش نام پیونددهنده پیشفرض مورد استفاده.
-dry-run- صرفاً
نمایش
دستورات
اجراشونده
بدون اجرای
واقعی
آنها (به
معنی ‘
-v-است’).
گزینههای مبهم و پیشرفته:
-debugMODES- نمایش خروجی اشکالزدایی برای حالتهای مشخصشده.
-compilerPATHNAME- استفاده از کامپایلری غیر از پیشفرض ‘chicken’.
-raw- عدم تولید کدهای ضمنی init و exit.
-emit-external-prototypes-first- انتشار پروتوتایپها برای callbackها قبل از اعلانهای خارجی.
-regenerate-import-libraries- همیشه تولید مجدد کتابخانههای ایمپورت، حتی در صورتی که محتوای آنها تغییری نکرده باشد. رفتار پیشفرض حفظ کتابخانههای ایمپورت موجود است.
-ignore-repository- عدم مراجعه به مخزن برای افزونهها.
-keep-shadowed-macros- عدم حذف ماکروهای پوشاندهشده (shadowed).
-host- کامپایل برای میزبان در شرایط پیکربندی کامپایل چندسکویی (cross-compiling).
-private-repository- بارگذاری افزونهها از مسیر فایل اجرایی.
-deployed- پیوند دادن فایل پشتیبانی برای استفاده از یک فایل اجرایی مستقرشده (در صورت پشتیبانی روی این پلتفرم، ‘rpath’ را متناسب با آن تنظیم میکند.)
-no-elevation- تعبیه مانیفست در ویندوز برای جلوگیری از هشدارهای ارتقای دسترسی برای برنامههای با نام ‘install’ یا ‘setup’.
گزینهها در صورت عدم ابهام میتوانند ادغام شوند، به عنوان مثال “-vkfO” همان “-v -k -fixnum-arithmetic -optimize” است.
متغیرهای محیطی (ENVIRONMENT)
متغیرهای
محیطی زیر
رفتار
cscرا
تغییر
میدهند:
CSC_OPTIONS- میتواند
شامل
گزینههای
پیشفرضی
باشد که
باید به هر
فراخوانی
cscارسال شوند.
وضعیت خروج (EXIT STATUS)
The csc utility exits 0 on success,
and >0 if an error occurs.
همچنین ببینید (SEE ALSO)
اطلاعات بیشتر را میتوانید در این آدرس بیابید: راهنمای کاربر CHICKEN.
نویسندگان (AUTHORS)
The CHICKEN Team
گزارش باگها (BUGS)
گزارشهای باگ را از طریق ایمیل به این آدرس ارسال کنید: chicken-janitors@nongnu.org
| April 26, 2017 | Linux 6.12.107+deb13-amd64 |