| SWI(1) | راهنمای دستورات کاربر | SWI(1) |
نام (NAME)
swipl-ld - ایجاد یک فایل اجرایی تعبیهشده SWI-Prolog
شرح مختصر (SYNOPSIS)
swipl-ld گزینهها فایلهای-c فایلهای-o فایلهای-pl
توضیحات (DESCRIPTION)
ابزار swipl-ld یک رابط کاربری فرانتاند برای کامپایلر و پیونددهنده C است تا یک فایل اجرایی مستقل از مجموعهای از فایلهای ورودی C/C++ و پرولاگ بسازد. این ابزار اطلاعات را از فایل اجرایی SWI-Prolog یعنی swipl استخراج کرده و سپس آرگومانها را بررسی و به دستههای مختلف تفکیک میکند. سپس کامپایلر C را فراخوانی میکند تا یک فایل اجرایی حاوی کد C کاربر و هسته SWI-Prolog بسازد. پس از آن، در صورت وجود هرگونه فایل پرولاگ در خط فرمان، محیط توسعه را فراخوانی میکند تا یک وضعیت ذخیرهشده (saved state) پرولاگ از فایلهای منبع بسازد، و در نهایت با الحاق وضعیت ذخیرهشده به شبیهساز، فایل اجرایی هدف را تولید میکند؛ در غیر این صورت، یک فایل اجرایی معمولی میسازد (همچنین گزینه -nostate را ببینید). همچنین به qsave_program/2 در راهنمای SWI-Prolog مراجعه کنید.
گزینهها (Options)
- -pl پرولاگ
- نسخه پرولاگ مورد استفاده را مشخص میکند. مقدار پیشفرض swipl است. این پرچم ممکن است برای انتخاب بین نسخههای مختلف نصبشده روی سیستم، یا مشخص کردن یک نسخه سفارشی استفاده شود. نسخه اصلاحشده باید پرچمهای زیر را پشتیبانی کند: -dump-runtime-variables -f file -F file -g goal -t toplevel.
- -help
- نمایش خلاصه گزینهها.
- -nostate
- فقط هسته را دوباره پیوند میدهد. هسته جدید پیوندیافته فقط در حضور سیستم توسعه میتواند کار کند. هرگونه فایل منبع پرولاگ ارائهشده نادیده گرفته میشود، و همچنین گزینههای -goal -toplevel -initfile. -class در صورتی که بارگیری پویا در سیستم شما پشتیبانی نشود، این روش ترجیحی برای پیوست ماژولهای خارجی به پرولاگ است.
- -c
- کامپایل فایلهای منبع C یا C++ به فایلهای شیء (object files). این گزینه swipl-ld را به جایگزینی برای کامپایلر C یا C++ تبدیل میکند که در آن گزینههای مناسب مانند مسیر دایرکتوری include به طور خودکار به کامپایلر منتقل میشوند.
- -E
- فراخوانی پیشپردازنده C. برای تبدیل swipl-ld به جایگزین کامپایلر C یا C++ استفاده میشود.
- پیوند فایلهای C، C++ یا فایلهای شیء به یک شیء مشترک (DLL یا Shared Object) که میتواند توسط گزاره load_foreign_library/1 بارگیری شود. این گزینه مستلزم -nostate است. در صورت استفاده با -c گزینههای مناسب را برای کامپایل یک فایل C یا C++ آماده پیوند به یک شیء مشترک تنظیم میکند.
- تعبیه SWI-Prolog در یک شیء مشترک/DLL به جای یک فایل اجرایی. برای جزئیات به راهنمای مرجع مراجعه کنید.
- -dll
- تنها در ویندوز مشابه -embed-shared برای سازگاری با نسخههای پیشین.
- -F base
- به طور پیشفرض، مقدار none به دستور swipl ارسال میشود تا وضعیت ذخیرهشده را بسازد. با استفاده از -F xpce میتوانید بارگیری xpce.rc را مشخص کنید که XPCE را در وضعیت ذخیرهشده در دسترس قرار میدهد.
- -goal هدف
- هدفی که در ابتدا هنگام راهاندازی سطح بالا با استفاده از PL_toplevel() اجرا میشود. مقدار پیشفرض مشابه پرچم -g برای دستور swipl است، یعنی: version/0 (با تنظیم -goal هدف میتوان از چاپ سرآیند جلوگیری کرد). اگر هیچ فایل پرولاگی در فایل اجرایی وجود نداشته باشد، این گزینه تأثیری ندارد.
- -toplevel هدف
- هدفی که به عنوان هدف اصلی سطح بالا اجرا میشود؛ یعنی پرچم پیشفرض -t برای فایل اجرایی جدید.
- -initfile فایل
- فایلی که توسط سطح بالا بارگیری میشود؛ یعنی پرچم پیشفرض -f برای فایل اجرایی جدید.
- -class {runtime,kernel,development}
- کلاس ذخیره وضعیت ذخیرهشده پرولاگ ایجاد شده را تنظیم میکند. اگر runtime (پیشفرض) باشد، سیستم حاصل تفسیر تمام آرگومانها را به برنامه واگذار میکند. اگر kernel باشد تمام گزارهها برای ردیاب قفل میشوند. در نهایت، اگر development باشد وضعیت به صورت «همانگونه که هست» ذخیره میشود و سیستم حاصل گزینهها را دقیقاً مانند فایل اجرایی پایه SWI-Prolog پردازش میکند. به qsave_program/2 در راهنمای مرجع SWI-Prolog مراجعه کنید.
- -v
- حالت پرگویی (Verbose). این گزینه دستورات را قبل از اجرا نمایش میدهد. توجه داشته باشید که برخی از دستورات به عنوان دستورات شل چاپ میشوند، اما در واقع توسط خود swipl-ld برای سازگاری با بسترهای Win32 اجرا میشوند.
- -f
- عملیات ساختگی (Fake). همراه با -v دستوراتی را که باید اجرا شوند بدون انجام هیچ عملیاتی چاپ میکند.
- -Ecppargument ...
- اگر اولین گزینه -E, باشد تمام گزینههای بعدی الحاق شده و به برنامهای که توسط پیکربندی SWI-Prolog برای اجرای cpp انتخاب شده تحویل داده میشوند.
- -o فایل
- نام فایل اجرایی نهایی را مشخص میکند. پیشفرض a.out است.
- -cc کامپایلر-C
- کامپایلر مورد استفاده برای فایلهای *.c را مشخص میکند. پیشفرض کامپایلری است که برای کامپایل خود SWI-Prolog استفاده شده و از ویژگی c_cc خوانده میشود.
- -c++ کامپایلر-C++
- کامپایلر مورد استفاده برای فایلهای ورودی C++ را مشخص میکند. اگر کامپایلر C برابر gcc باشد، این مقدار g++ خواهد بود، در غیر این صورت c++ فرض میشود.
- -ld پیونددهنده
- پیونددهنده مورد استفاده را مشخص میکند. پیشفرض کامپایلر C است. در بسترهای Win32 پیشفرض link.exe است.
- -lکتابخانه
- یک کتابخانه C را برای پیوند برنامه مشخص میکند. به طور پیشفرض، -lswipl و همچنین کتابخانههای مورد نیاز هسته SWI-Prolog به کامپایلر C ارسال میشوند.
- -Lدایرکتوری-کتابخانه
- یک مسیر دایرکتوری کتابخانه اضافی برای کامپایلر C مشخص میکند. به طور پیشفرض، دایرکتوری زمان اجرا برای معماری فعلی ارسال میشود.
- -g|-I*|-D*|-U*|-O*|-W*
- به عنوان پرچمهای C به کامپایلر ارسال میشوند. به طور پیشفرض دایرکتوری include مربوط به SWI-Prolog به عنوان دایرکتوری الحاقی ارسال میشود. پرچمهای -D زیر توسط swipl-ld اضافه میشوند: -D__SWI_PROLOG__ و -D__SWI_EMBEDDED__.
- -pl-options*
- گزینههای اضافی را برای swipl مشخص میکند. اولین نویسه پس از -pl-options جداکننده گزینهها را تعیین میکند. بقیه آرگومان با استفاده از این جداکننده تقسیم شده و بخشها به فهرست گزینهها برای پرولاگ اضافه میشوند. همچنین -cc-options و -ld-options را ببینید.
- -ld-options*
- گزینههای اضافی ارسالشده به پیونددهنده. برای مثال: -ld-options,-Bstatic
- -cc-options*
- گزینههای اضافی ارسالشده به هر دو کامپایلر C و C++.
- *.o
- به عنوان فایلهای ورودی به پیونددهنده ارسال میشوند.
- *.c
- با استفاده از کامپایلر C کامپایل میشوند و پس از آن فایل شیء به پیونددهنده ارسال میشود. فایل شیء هنگام پاکسازی حذف میشود.
- *.cc|*.C|*.cxx|*.cpp
- با استفاده از کامپایلر C++ کامپایل میشوند و پس از آن فایل شیء به پیونددهنده ارسال میشود. فایل شیء هنگام پاکسازی حذف میشود.
- *.pl|*.qlf
- به عنوان فایلهای ورودی پرولاگ ارسال میشوند.
اشکالات (BUGS)
تجزیه گزینهها و توزیع آنها بین برنامههای مختلف احتمالاً ناقص است. با خیال راحت آن را تغییر دهید و لطفاً اصلاحات مفید را به bugs@swi-prolog.org ارسال کنید.
باید دقت شود که وضعیت ایجاد شده با qsave_program/2 خودکفا باشد (یعنی حاوی هیچ ارجاعی به کتابخانههای پرولاگ نباشد). همچنین، از آنجا که وضعیت با استفاده از محیط توسعه به جای شبیهساز کاربر ایجاد میشود، کد پرولاگ نمیتواند از دستوراتی استفاده کند که به کد C اضافه شده توسط کاربر وابسته هستند.
همچنین ببینید (SEE ALSO)
swipl(1) راهنمای مرجع SWI-Prolog، http://www.swi-prolog.org
حق نشر (COPYRIGHT)
حق نشر (C) 1991-2010 دانشگاه آمستردام، دانشگاه VU آمستردام این برنامه میتواند تحت شرایط مجوز BSD-2 استفاده شود.
نویسنده (AUTHOR)
Jan Wielemaker
| February 8, 2006 | SWI-Prolog |