glib-compile-resources -
کامپایل
منابع
برنامهها
به فایلهای
منبع
باینری یا C
glib-compile-resources [ گزینهها... ] فایل_gresource.xml
دستور
glib-compile-resources فایل
توضیحات
منبع XML را
خوانده و
فایل بسته
منبع
باینری GResource یا
کدهای منبع C
متناظر را
برای پیوند
در برنامه
ایجاد
میکند.
فایلهای
منبع XML
معمولاً
دارای
پسوند نام
فایل .gresource.xml
هستند. برای
مشاهده
توضیحات
دقیق
درباره
قالب فایل
XML، به
مستندات GResource
در نشانی
https://docs.gtk.org/gio/struct.Resource.html
مراجعه
کنید.
-h, --help
--version
نمایش
نگارش
برنامه و
خروج.
--target <TARGET>
ذخیره
منابع
کامپایلشده
در فایل TARGET.
اگر مشخص
نشود، از
نام فایلی
بر اساس نام
پایه (basename) فایل
FILE استفاده
میشود.
--sourcedir <DIRECTORY>
فایلهای
مورد ارجاع
در FILE از این
دایرکتوری
بارگذاری
میشوند.
اگر مشخص
نشود، از
دایرکتوری
جاری
استفاده
خواهد شد. در
صورتی که
گزینه --sourcedir
بیش از یک
بار به کار
رود،
دایرکتوریهای
مشخصشده
به ترتیب
جستجو
میشوند.
--generate
نوشتن
فایل خروجی
در قالبی که
بر اساس
پسوند نام
آن انتخاب
میشود:
.c
.h
.gresource
بسته
منابع (resource bundle)
--generate-source
به جای
نوشتن بسته
منبع در
قالب
باینری، یک
فایل منبع C
ایجاد
میکند که
حاوی بسته
منابع است.
سپس این
فایل
میتواند
برای
دسترسی
آسان درون
برنامه
کامپایل
شود.
--generate-header
تولید یک
فایل
سرآیند (header)
برای
استفاده به
همراه
کدهای C
تولیدشده
توسط --generate-source.
--generate-dependencies
فهرست
فایلهایی
را که بسته
منابع به
آنها
ارجاع
میدهد در
خروجی
استاندارد
چاپ میکند.
این گزینه
میتواند
برای
ردیابی
وابستگیها
در سیستم
ساخت
استفاده
شود. برای
نمونه،
دستور ساخت
(make rule) زیر فایل
test.gresource را
وابسته به
تمام
فایلهای
موجود در
test.gresource.xml قرار
میدهد تا
در صورت
تغییر هر یک
از آنها،
به صورت
خودکار
بازسازی
شود:
test.gresource: test.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies test.gresource.xml)
توجه
داشته
باشید که
این قابلیت
ممکن است در
نسخههای
غیر گنو (non-GNU)
ابزار make
قابل حمل (portable)
نباشد.
همچنین
گزینه --dependency-file
را ببینید.
--c-name
تعیین
پیشوند
مورد
استفاده
برای
شناسههای C
در کدهای
تولیدشده
توسط --generate-source و
--generate-header.
--manual-register
بهطور
پیشفرض،
کدهای
تولیدشده
توسط --generate-source از
مقداردهی
اولیه
خودکار
برای منابع
استفاده
میکنند.
این کار در
اکثر
سیستمها
با استفاده
از
پشتیبانی
کامپایلر
از توابع
سازنده (constructors)
به درستی
عمل میکند.
با این حال،
برخی از
کامپایلرهای
خاص ممکن
است از آن
پشتیبانی
نکنند؛ در
این صورت
میتوانید
گزینه --manual-register
را مشخص
کنید که
توابع
سفارشی ثبت
(register) و لغو ثبت
(unregister) را تولید
میکند تا
کد شما
بتواند
آنها را
هنگام
راهاندازی
و آزادسازی
به صورت
دستی
فراخوانی
کند.
--internal
بهطور
پیشفرض،
کدهای
تولیدشده
توسط --generate-source
تمام توابع
مقداردهی
اولیه را به
عنوان extern
اعلان
میکنند؛
بنابراین
این توابع
صادر (export)
میشوند
مگر اینکه
توسط
اسکریپت
پیوند (link script) یا
روشهای
دیگر از آن
جلوگیری
شود. از آنجا
که
کتابخانهها
معمولاً
مایلند از
این توابع
تنها به
صورت داخلی
استفاده
کنند،
اعلان
آنها به
عنوان G_GNUC_INTERNAL
کاربردیتر
است که این
کار توسط
گزینه --internal
انجام
میشود.
--external-data
بهطور
پیشفرض،
کدهای
تولیدشده
توسط --generate-source
دادههای
منبع را به
صورت
لیترال
رشتهای (string literal)
جاسازی
میکنند.
هنگامی که
گزینه --external-data
داده شود،
دادهها
فقط در فایل C
تولیدشده
اعلان
میشوند و
باید به
صورت خارجی
پیوند (link)
داده شوند.
--dependency-file <FILE>
وابستگیها
را به همان
شیوه دستور
gcc -M -MF در فایل
مشخصشده
مینویسد.
اگر مقدار FILE
برابر با -
باشد،
وابستگیها
در خروجی
استاندارد
نوشته
میشوند. بر
خلاف گزینه
--generate-dependencies، این
گزینه
میتواند
با سایر
گزینههای
--generate ترکیب
شود تا
وابستگیها
را به عنوان
اثر جانبیِ
تولید
کدهای منبع
ایجاد کند.
--generate-phony-targets
هنگام
ایجاد فایل
وابستگی با
گزینه --dependency-file،
هدفهای
ساختگی (phony targets)
را به همان
شیوه gcc -MP
اضافه
میکند. این
گزینه
معمولاً به
همراه make
استفاده
میشود.
--compiler <NAME>
تولید
کدی که برای
کامپایلر
مشخصشده
با NAME
بهینهسازی
میشود. دو
حالت
کامپایلر
موجود
عبارتند از
gcc برای تمام
زنجیرهابزارهای
سازگار با GCC،
و msvc برای
کامپایلر
ویژوال سی
مایکروسافت
(Microsoft Visual C Compiler). اگر
این گزینه
تنظیم
نشود،
مقدار
پیشفرض از
متغیر
محیطی CC
گرفته
خواهد شد.
XMLLINT
مسیر
کامل به
فایل
اجرایی xmllint.
این متغیر
برای
پیشپردازش
منابع با
گزینه
پیشپردازش
xml-stripblanks به کار
میرود. اگر
این متغیر
محیطی
تنظیم نشده
باشد،
برنامه xmllint
در متغیر
محیطی PATH
جستجو
میشود.
GDK_PIXBUF_PIXDATA
از نسخه
2.32
بسته gdk-pixbuf
منسوخ شده
است، زیرا
GResource از
جاسازی
قالبهای
مدرن تصویر
بدون نیاز
به تبدیل
پشتیبانی
میکند.
مسیر کامل
به فایل
اجرایی gdk-pixbuf-pixdata.
این متغیر
برای
پیشپردازش
منابع با
گزینه
پیشپردازش
to-pixdata به کار
میرود. اگر
این متغیر
محیطی
تنظیم نشده
باشد،
برنامه gdk-pixbuf-pixdata
در متغیر
محیطی PATH
جستجو
میشود.
JSON_GLIB_FORMAT
مسیر
کامل به
فایل
اجرایی json-glib-format.
این متغیر
برای
پیشپردازش
منابع با
گزینه
پیشپردازش
json-stripblanks به کار
میرود. اگر
این متغیر
محیطی
تنظیم نشده
باشد،
برنامه json-glib-format
در متغیر
محیطی PATH
جستجو
میشود.