GENGETOPT(1) User Commands GENGETOPT(1)

gengetopt - تولیدکننده تابع تجزیه خط فرمان در زبان C

gengetopt [گزینه]...

این برنامه یک تابع C تولید می‌کند که از تابع getopt_long برای تجزیه گزینه‌های خط فرمان، اعتبارسنجی آن‌ها و پر کردن یک ساختار (struct) استفاده می‌نماید.

چاپ راهنما و خروج
چاپ راهنما، شامل تمامی جزئیات و گزینه‌های پنهان، و خروج
چاپ راهنما، شامل گزینه‌های پنهان، و خروج
چاپ نسخه و خروج

گزینه‌های اصلی:

فایل ورودی (پیش‌فرض ورودی استاندارد)
نام تابع تولیدشده (پیش‌فرض=`cmdline_parser')
نام ساختار (struct) اطلاعات آرگومان‌های تولیدشده (پیش‌فرض=`gengetopt_args_info')
نام فایل تولیدشده (پیش‌فرض=`cmdline')
دایرکتوری خروجی
اگر این گزینه مشخص نشود، فایل‌ها در دایرکتوری جاری تولید می‌شوند.
دایرکتوری خروجی فایل‌های سرآیند (header)
دایرکتوری خروجی فایل‌های کد منبع (source)
پسوند فایل c (پیش‌فرض=`c')
پسوند فایل سرآیند (پیش‌فرض=`h')
خط نحوه استفاده طولانی در راهنما
خط نحوه استفاده تمام گزینه‌ها را چاپ می‌کند، برای مثال:
sample1 -iINT|--int-opt=INT [-h|--help]
به طور پیش‌فرض، یک گزینه اختیاری در نظر گرفته می‌شود مگر خلاف آن مشخص شده باشد
پذیرش گزینه‌های بدون نام (مانند نام فایل‌ها) (پیش‌فرض=`FILE')
مترادف --unnamed-opts، پذیرفته‌شده برای سازگاری با نسخه‌های پیشین (پیش‌فرض=`FILE')

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

تولید تجزیه‌کننده فایل پیکربندی
تولید تجزیه‌کننده رشته (رشته حاوی خط فرمان)

کد getopt_long را در فایل C تولیدشده اضافه می‌کند
گزینه‌های --help|-h به طور خودکار مدیریت نشوند
اگر --no-handle-help مشخص شود، گزینه خط فرمان --help|-h به صورت خودکار مدیریت نخواهد شد، بنابراین برنامه‌نویس می‌تواند اطلاعات دیگری را چاپ کند؛ سپس می‌توان از تابع چاپ خروجی استاندارد راهنما استفاده کرد؛ این تابع <parser-name>_print_help نام دارد.
توجه داشته باشید که هرچند برنامه‌نویس می‌تواند --help|-h را به صورت دستی مدیریت کند، اما تجزیه‌کننده پس از یافتن چنین گزینه‌ای بازمی‌گردد: سایر گزینه‌های خط فرمان، در صورت وجود، نادیده گرفته خواهند شد. در صورتی که می‌خواهید کنترل کامل روی --help|-h داشته باشید، باید از --no-help استفاده کنید.
گزینه‌های --help|-h به طور خودکار اضافه نشوند
با این گزینه می‌توانید افزودن خودکار گزینه‌های --help|-h را غیرفعال کنید. سپس برنامه‌نویس می‌تواند این گزینه را در فایل ورودی اضافه کرده و آن را بر اساس نیاز خود مدیریت کند. توجه داشته باشید که --no-help گزینه‌های خودکار --detailed-help و --full-help را نیز غیرفعال می‌کند.
برنامه‌نویس همچنان می‌تواند گزینه‌هایی با نویسه کوتاه h به دلخواه تعریف کند، اما نمی‌تواند گزینه‌های help را تعریف کند مگر اینکه --no-help را مشخص کرده باشد (در غیر این صورت یک خطا چاپ خواهد شد).
گزینه‌های --version|-V به طور خودکار مدیریت نشوند
گزینه‌های --version|-V به طور خودکار اضافه نشوند
به ترتیب جزئیات مربوط به --no-handle-help و --no-help را در بالا ببینید.
هنگام بروز خطا خارج نشود
با این گزینه، اگر تجزیه‌کننده تولیدشده با خطایی مواجه شود (مانند یک گزینه ناشناخته)، باعث خروج برنامه اصلی نمی‌شود؛ در عوض، تابع تجزیه‌کننده مقداری غیر از ۰ برمی‌گرداند و برنامه اصلی می‌تواند یک پیام راهنما چاپ کند.
در خروجی راهنما مشخص می‌کند که کدام گزینه‌ها اجباری هستند، با استفاده از رشته اختیاری ارائه‌شده (پیش‌فرض=`(mandatory)')
پنهان‌سازی کامل گزینه‌های پنهان
قرار دادن نسخه gengetopt در فایل تولیدشده (پیش‌فرض=روشن)
تنظیم نام بسته (بازنویسی بسته تعریف‌شده در فایل .ggo)
تنظیم شماره نسخه (بازنویسی نسخه تعریف‌شده در فایل .ggo)
نمایش خروجی --help به جای تولید کد
نمایش خروجی --full-help (شامل گزینه‌های پنهان) به جای تولید کد
نمایش خروجی --detailed-help (شامل جزئیات و گزینه‌های پنهان) به جای تولید کد
نمایش خروجی --version به جای تولید کد

لطفاً برای توضیحات بیشتر به کتابچه راهنمای info مراجعه کنید.

نگهداری‌شده توسط Tomas Volf <wolf@wolfsden.cz>

گزارش باگ‌ها به <bug-gengetopt@gnu.org>

حق نشر © 1999-2011 Free Software Foundation Inc. این برنامه بدون هیچ‌گونه ضمانتی ارائه می‌شود؛ برای جزئیات لطفاً فایل 'COPYING' ارائه‌شده همراه با کد منبع را ببینید.
این یک نرم‌افزار آزاد است و شما مجاز به بازتوزیع آن تحت شرایط خاصی هستید؛ مجدداً برای جزئیات 'COPYING' را ببینید. این برنامه تحت مجوز عمومی کلی گنو (GNU GPL) منتشر شده است.

مستندات کامل gengetopt به صورت یک راهنمای Texinfo نگهداری می‌شود. اگر برنامه‌های info و gengetopt به درستی روی سیستم شما نصب شده باشند، دستور

info gengetopt

باید دسترسی به راهنمای کامل را برای شما فراهم کند.

January 2026 GNU gengetopt 2.23