.TH VALAC "1" "مارس 2026" "Vala 0.56.19" "دستورهای کاربری" .SH "نام (NAME)" valac \- کامپایلر تبدیل کد منبع Vala به فایل‌های منبع و سرایند C .SH "خلاصه دستور (SYNOPSIS)" .B valac [\fIOPTION\fR]... [\fIFILE\fR]... .SH "توضیحات (DESCRIPTION)" Vala یک زبان برنامه‌نویسی است که هدف آن فراهم ساختن ویژگی‌های مدرن زبان‌های برنامه‌نویسی برای توسعه‌دهندگان GNOME بدون تحمیل پیش‌نیازهای زمان اجرای اضافی و بدون استفاده از یک ABI متفاوت در مقایسه با برنامه‌ها و کتابخانه‌های نوشته‌شده به زبان C است. .TP کامپایلر Vala با نام valac، یک کامپایلر خودمیزبان (self-hosting) است که کدهای منبع Vala را به فایل‌های منبع و سرایند C ترجمه می‌کند. این کامپایلر از سیستم نوع‌های GObject برای ساخت کلاس‌ها و رابط‌های تعریف‌شده در کد منبع Vala بهره می‌برد. .SS "کاربرد (Usage):" .IP valac [OPTION...] FILE... \- کامپایلر Vala .SS "گزینه‌های راهنما (Help Options):" .TP \-?, \fB\-\-help\fR نمایش گزینه‌های راهنما .SS "گزینه‌های برنامه (Application Options):" .TP \fB\-\-vapidir\fR=\fI\,DIRECTORY\/\fR... جست‌وجوی مقیدسازی‌های بسته (bindings) در DIRECTORY .TP \fB\-\-girdir\fR=\fI\,DIRECTORY\/\fR... جست‌وجوی فایل‌های .gir در DIRECTORY .TP \fB\-\-metadatadir\fR=\fI\,DIRECTORY\/\fR... جست‌وجوی فایل‌های .metadata مربوط به GIR در DIRECTORY .TP \fB\-\-pkg\fR=\fI\,PACKAGE\/\fR... گنجاندن مقیدسازی برای PACKAGE .TP \fB\-\-vapi\fR=\fI\,FILE\/\fR نام فایل VAPI خروجی .TP \fB\-\-library\fR=\fI\,NAME\/\fR نام کتابخانه .TP \fB\-\-shared\-library\fR=\fI\,NAME\/\fR نام کتابخانه اشتراکی مورد استفاده در gir تولیدشده .TP \fB\-\-gir\fR=\fI\,NAME\-VERSION\/\fR.gir نام فایل مخزن GObject\-Introspection .TP \fB\-b\fR, \fB\-\-basedir\fR=\fI\,DIRECTORY\/\fR دایرکتوری پایه منبع .TP \fB\-d\fR, \fB\-\-directory\fR=\fI\,DIRECTORY\/\fR تغییر دایرکتوری خروجی از دایرکتوری کاری فعلی .TP \fB\-\-version\fR نمایش شماره نسخه .TP \fB\-\-api\-version\fR نمایش شماره نسخه API .TP \fB\-C\fR, \fB\-\-ccode\fR تولید کد C در خروجی .TP \fB\-H\fR, \fB\-\-header\fR=\fI\,FILE\/\fR تولید فایل سرایند C .TP \fB\-\-use\-header\fR استفاده از فایل سرایند C (منسوخ و نادیده گرفته می‌شود) .TP \fB\-\-includedir\fR=\fI\,DIRECTORY\/\fR دایرکتوری مورد استفاده جهت گنجاندن فایل سرایند C .TP \fB\-h\fR, \fB\-\-internal\-header\fR=\fI\,FILE\/\fR تولید فایل سرایند داخلی C .TP \fB\-\-internal\-vapi\fR=\fI\,FILE\/\fR تولید vapi حاوی api داخلی .TP \fB\-\-fast\-vapi\fR تولید vapi بدون انجام تفکیک نمادها (symbol resolution) .TP \fB\-\-use\-fast\-vapi\fR استفاده از خروجی \fB\-\-fast\-vapi\fR در طول این کامپایل .TP \fB\-\-vapi\-comments\fR گنجاندن توضیحات (comments) در vapi تولیدشده .TP \fB\-\-deps\fR نوشتن اطلاعات وابستگی به سبک make در این فایل .TP \fB\-\-depfile\fR نوشتن اطلاعات وابستگی خارجی به سبک make برای سیستم‌های ساخت در این فایل .TP \fB\-\-list\-sources\fR خروجی دادن فهرستی از تمام فایل‌های منبع و مقیدسازی استفاده‌شده .TP \fB\-\-symbols\fR=\fI\,FILE\/\fR تولید فایل نمادها .TP \fB\-c\fR, \fB\-\-compile\fR کامپایل کردن بدون پیوند دادن (link) .TP \fB\-o\fR, \fB\-\-output\fR=\fI\,FILE\/\fR قرار دادن خروجی در فایل FILE .TP \fB\-g\fR, \fB\-\-debug\fR تولید اطلاعات اشکال‌زدایی (debug) .TP \fB\-\-thread\fR فعال‌سازی پشتیبانی از چندنخی (منسوخ و نادیده گرفته می‌شود) .TP \fB\-\-enable\-mem\-profiler\fR فعال‌سازی پروفایلر حافظه GLib .TP \fB\-D\fR, \fB\-\-define\fR=\fI\,SYMBOL\/\fR... تعریف SYMBOL .TP \fB\-\-main\fR=\fI\,SYMBOL\/\fR... استفاده از SYMBOL به عنوان نقطه ورود (entry point) .TP \fB\-\-nostdpkg\fR بسته‌های استاندارد گنجانده نشوند .TP \fB\-\-disable\-assert\fR غیرفعال‌سازی ارزیابی‌های assert .TP \fB\-\-enable\-checking\fR فعال‌سازی بررسی‌های بیشتر در زمان اجرا .TP \fB\-\-enable\-deprecated\fR فعال‌سازی ویژگی‌های منسوخ‌شده .TP \fB\-\-hide\-internal\fR پنهان‌سازی نمادهای نشانه‌گذاری‌شده به عنوان داخلی .TP \fB\-\-enable\-experimental\fR فعال‌سازی ویژگی‌های آزمایشی .TP \fB\-\-disable\-warnings\fR غیرفعال‌سازی هشدارها .TP \fB\-\-fatal\-warnings\fR مهلک تلقی کردن هشدارها .TP \fB\-\-disable\-since\-check\fR عدم بررسی وجود نمادهای استفاده‌شده در بسته‌های محلی .TP \fB\-k\fR, \fB\-\-keep\-going\fR ادامه دادن عملیات تا حد امکان پس از وقوع خطا .TP \fB\-\-enable\-experimental\-non\-null\fR فعال‌سازی بهبودهای آزمایشی برای انواع غیر تهی (non\-null) .TP \fB\-\-enable\-gobject\-tracing\fR فعال‌سازی ردگیری ایجاد GObject .TP \fB\-\-cc\fR=\fI\,COMMAND\/\fR استفاده از COMMAND به عنوان دستور کامپایلر C .TP \fB\-X\fR, \fB\-\-Xcc\fR=\fI\,OPTION\/\fR... ارسال OPTION به کامپایلر C .TP \fB\-\-pkg\-config\fR=\fI\,COMMAND\/\fR استفاده از COMMAND به عنوان دستور pkg\-config .TP \fB\-\-dump\-tree\fR=\fI\,FILE\/\fR نوشتن درخت کد در FILE .TP \fB\-\-save\-temps\fR نگه‌داری فایل‌های موقت .TP \fB\-\-profile\fR=\fI\,PROFILE\/\fR حداقل وابستگی زمان اجرا: 'gobject' (پیش‌فرض) یا 'posix' (حداقل libc) .RS \fIgobject\fR سامانه نوع زمان اجرای GType از GLib را فعال می‌کند. محیط زمان اجرا معمولاً به libgobject و تعداد کمی از وابستگی‌های آن نیاز خواهد داشت. \fIposix\fR وابستگی به GLib را حذف کرده و سامانه نوع زمان اجرا را غیرفعال می‌سازد. این نمایه (profile) یا کدهای جایگزین تولید می‌کند یا اگر از ویژگی زبانی Vala که به سامانه نوع زمان اجرا نیاز دارد استفاده شود، در زمان کامپایل خطا می‌دهد. این گزینه مثلاً برای نوشتن کدهایی که ریزکنترل‌گرها را هدف قرار می‌دهند یا برای ابزارهای سیستمی بسیار کوچک یا ایمیج‌های کانتینر کاربرد دارد. محیط زمان اجرا معمولاً به زیرمجموعه کوچکی از کتابخانه استاندارد ISO C نیاز خواهد داشت. .RE .TP \fB\-q\fR, \fB\-\-quiet\fR پیام‌ها در کنسول چاپ نشوند .TP \fB\-v\fR, \fB\-\-verbose\fR چاپ پیام‌های بیشتر در کنسول .TP \fB\-\-no\-color\fR غیرفعال‌سازی خروجی رنگی، نام مستعار برای \fB\-\-color\fR=\fI\,never\/\fR .TP \fB\-\-color\fR=\fI\,WHEN\/\fR فعال‌سازی خروجی رنگی؛ گزینه‌ها عبارتند از 'always' ،'never' یا 'auto' .RS هنگامی که مقداری مشخص نشود، \fIalways\fR فرض می‌شود. اگر هیچ‌کدام از گزینه‌های \fB--color\fR یا \fB--no-color\fR تعیین نشده باشند، مقدار \fB--color\fR=\fIauto\fR به کار می‌رود که در آن اگر stderr یک ترمینال باشد خروجی رنگی خواهد بود. .RE .TP \fB\-\-target\-glib=\fR'MAJOR.MINOR' یا 'auto' نسخه هدف glib برای تولید کد .TP \fB\-\-gresources\fR=\fI\,FILE\/\fR... فایل XML منابع gresources .TP \fB\-\-gresourcesdir\fR=\fI\,DIRECTORY\/\fR... جست‌وجوی منابع در DIRECTORY .TP \fB\-\-enable\-version\-header\fR نوشتن نسخه ساخت vala در فایل‌های تولیدشده .TP \fB\-\-disable\-version\-header\fR عدم نوشتن نسخه ساخت vala در فایل‌های تولیدشده .TP \fB\-\-run\-args\fR آرگومان‌های ارسالی به فایل اجرایی که مستقیماً کامپایل شده است .TP \fB\-\-abi\-stability\fR فعال‌سازی پشتیبانی از پایداری ABI .RS این گزینه رفتار فعلی را تغییر می‌دهد تا اعضای عمومی کلاس‌ها و رابط‌ها به همان ترتیبی که در کد منبع Vala ظاهر می‌شوند در خروجی قرار گیرند. برای کتابخانه‌ها توصیه می‌شود از \fB--abi-stability\fR استفاده شود تا نگه‌داری‌پذیری واسط دودویی برنامه (ABI) حاصل تضمین شود. این گزینه به منظور سازگاری رو به عقب به طور پیش‌فرض غیرفعال است چرا که می‌تواند ABI پروژه‌های موجود را بشکند. .RE .SH "گزارش باگ‌ها (BUGS)" https://gitlab.gnome.org/GNOME/vala/issues .SH "صفحه خانگی یا تماس (HOMEPAGE OR CONTACT)" https://vala.dev .SH "ویژگی‌ها (FEATURES)" رابط‌ها (Interfaces)، مشخصه‌ها (properties)، سیگنال‌ها (signals)، حلقه foreach، عبارت‌های لامبدا (lambda expressions)، استنتاج نوع (type inference) برای متغیرهای محلی، جنریک‌ها (generics)، انواع غیر تهی (non-null types)، مدیریت کمکی حافظه، رسیدگی به استثناها (exception handling) .SH "نویسندگان (AUTHORS)" Jürg Billeter, Raffaele Sandrini, Rico Tzschichholz.