VALAC(1) دستورهای کاربری VALAC(1)

valac - کامپایلر تبدیل کد منبع Vala به فایل‌های منبع و سرایند C

valac [OPTION]... [FILE]...

Vala یک زبان برنامه‌نویسی است که هدف آن فراهم ساختن ویژگی‌های مدرن زبان‌های برنامه‌نویسی برای توسعه‌دهندگان GNOME بدون تحمیل پیش‌نیازهای زمان اجرای اضافی و بدون استفاده از یک ABI متفاوت در مقایسه با برنامه‌ها و کتابخانه‌های نوشته‌شده به زبان C است.

کامپایلر Vala با نام valac، یک کامپایلر خودمیزبان (self-hosting) است که کدهای منبع Vala را به فایل‌های منبع و سرایند C ترجمه می‌کند. این کامپایلر از سیستم نوع‌های GObject برای ساخت کلاس‌ها و رابط‌های تعریف‌شده در کد منبع Vala بهره می‌برد.

valac [OPTION...] FILE... - کامپایلر Vala

-?, --help
نمایش گزینه‌های راهنما

جست‌وجوی مقیدسازی‌های بسته (bindings) در DIRECTORY
جست‌وجوی فایل‌های .gir در DIRECTORY
جست‌وجوی فایل‌های .metadata مربوط به GIR در DIRECTORY
گنجاندن مقیدسازی برای PACKAGE
نام فایل VAPI خروجی
نام کتابخانه
نام کتابخانه اشتراکی مورد استفاده در gir تولیدشده
نام فایل مخزن GObject-Introspection
دایرکتوری پایه منبع
تغییر دایرکتوری خروجی از دایرکتوری کاری فعلی
نمایش شماره نسخه
نمایش شماره نسخه API
تولید کد C در خروجی
تولید فایل سرایند C
استفاده از فایل سرایند C (منسوخ و نادیده گرفته می‌شود)
دایرکتوری مورد استفاده جهت گنجاندن فایل سرایند C
تولید فایل سرایند داخلی C
تولید vapi حاوی api داخلی
تولید vapi بدون انجام تفکیک نمادها (symbol resolution)
استفاده از خروجی --fast-vapi در طول این کامپایل
گنجاندن توضیحات (comments) در vapi تولیدشده
نوشتن اطلاعات وابستگی به سبک make در این فایل
نوشتن اطلاعات وابستگی خارجی به سبک make برای سیستم‌های ساخت در این فایل
خروجی دادن فهرستی از تمام فایل‌های منبع و مقیدسازی استفاده‌شده
تولید فایل نمادها
کامپایل کردن بدون پیوند دادن (link)
قرار دادن خروجی در فایل FILE
تولید اطلاعات اشکال‌زدایی (debug)
فعال‌سازی پشتیبانی از چندنخی (منسوخ و نادیده گرفته می‌شود)
فعال‌سازی پروفایلر حافظه GLib
تعریف SYMBOL
استفاده از SYMBOL به عنوان نقطه ورود (entry point)
بسته‌های استاندارد گنجانده نشوند
غیرفعال‌سازی ارزیابی‌های assert
فعال‌سازی بررسی‌های بیشتر در زمان اجرا
فعال‌سازی ویژگی‌های منسوخ‌شده
پنهان‌سازی نمادهای نشانه‌گذاری‌شده به عنوان داخلی
فعال‌سازی ویژگی‌های آزمایشی
غیرفعال‌سازی هشدارها
مهلک تلقی کردن هشدارها
عدم بررسی وجود نمادهای استفاده‌شده در بسته‌های محلی
ادامه دادن عملیات تا حد امکان پس از وقوع خطا
فعال‌سازی بهبودهای آزمایشی برای انواع غیر تهی (non-null)
فعال‌سازی ردگیری ایجاد GObject
استفاده از COMMAND به عنوان دستور کامپایلر C
ارسال OPTION به کامپایلر C
استفاده از COMMAND به عنوان دستور pkg-config
نوشتن درخت کد در FILE
نگه‌داری فایل‌های موقت
حداقل وابستگی زمان اجرا: 'gobject' (پیش‌فرض) یا 'posix' (حداقل libc)
gobject سامانه نوع زمان اجرای GType از GLib را فعال می‌کند. محیط زمان اجرا معمولاً به libgobject و تعداد کمی از وابستگی‌های آن نیاز خواهد داشت. posix وابستگی به GLib را حذف کرده و سامانه نوع زمان اجرا را غیرفعال می‌سازد. این نمایه (profile) یا کدهای جایگزین تولید می‌کند یا اگر از ویژگی زبانی Vala که به سامانه نوع زمان اجرا نیاز دارد استفاده شود، در زمان کامپایل خطا می‌دهد. این گزینه مثلاً برای نوشتن کدهایی که ریزکنترل‌گرها را هدف قرار می‌دهند یا برای ابزارهای سیستمی بسیار کوچک یا ایمیج‌های کانتینر کاربرد دارد. محیط زمان اجرا معمولاً به زیرمجموعه کوچکی از کتابخانه استاندارد ISO C نیاز خواهد داشت.
پیام‌ها در کنسول چاپ نشوند
چاپ پیام‌های بیشتر در کنسول
غیرفعال‌سازی خروجی رنگی، نام مستعار برای --color=never
فعال‌سازی خروجی رنگی؛ گزینه‌ها عبارتند از 'always' ،'never' یا 'auto'
هنگامی که مقداری مشخص نشود، always فرض می‌شود. اگر هیچ‌کدام از گزینه‌های --color یا --no-color تعیین نشده باشند، مقدار --color=auto به کار می‌رود که در آن اگر stderr یک ترمینال باشد خروجی رنگی خواهد بود.
نسخه هدف glib برای تولید کد
فایل XML منابع gresources
جست‌وجوی منابع در DIRECTORY
نوشتن نسخه ساخت vala در فایل‌های تولیدشده
عدم نوشتن نسخه ساخت vala در فایل‌های تولیدشده
آرگومان‌های ارسالی به فایل اجرایی که مستقیماً کامپایل شده است
فعال‌سازی پشتیبانی از پایداری ABI
این گزینه رفتار فعلی را تغییر می‌دهد تا اعضای عمومی کلاس‌ها و رابط‌ها به همان ترتیبی که در کد منبع Vala ظاهر می‌شوند در خروجی قرار گیرند. برای کتابخانه‌ها توصیه می‌شود از --abi-stability استفاده شود تا نگه‌داری‌پذیری واسط دودویی برنامه (ABI) حاصل تضمین شود. این گزینه به منظور سازگاری رو به عقب به طور پیش‌فرض غیرفعال است چرا که می‌تواند ABI پروژه‌های موجود را بشکند.

https://gitlab.gnome.org/GNOME/vala/issues

https://vala.dev

رابط‌ها (Interfaces)، مشخصه‌ها (properties)، سیگنال‌ها (signals)، حلقه foreach، عبارت‌های لامبدا (lambda expressions)، استنتاج نوع (type inference) برای متغیرهای محلی، جنریک‌ها (generics)، انواع غیر تهی (non-null types)، مدیریت کمکی حافظه، رسیدگی به استثناها (exception handling)

Jürg Billeter, Raffaele Sandrini, Rico Tzschichholz.

مارس 2026 Vala 0.56.19