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