انگلیسیفرانسویاسپانیایی

اجرای سرورها | Ubuntu > | Fedora > |


فاویکون OnWorks

winebuild-development - آنلاین در ابر

اجرای winebuild-development در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این دستور winebuild-development است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


winebuild - Wine dll builder

خلاصه


شراب سازی [گزینه های] [فایل ورودی...]

شرح


شراب سازی فایل های اسمبلی را تولید می کند که برای ساخت Wine dll لازم است
اساسا یک dll Win32 کپسوله شده در یک کتابخانه یونیکس.

شراب سازی بسته به نوع فایلی که از آن خواسته می شود، حالت های مختلفی دارد. در
حالت توسط یکی از گزینه های حالت مشخص شده در زیر مشخص می شود. علاوه بر حالت
گزینه، گزینه های مختلف دیگری از خط فرمان را می توان مشخص کرد، همانطور که در توضیح داده شده است OPTIONS
بخش.

MODE OPTIONS


شما باید بسته به چیزی که می خواهید دقیقا یکی از گزینه های زیر را مشخص کنید
شراب سازی برای تولید.

--dll یک فایل اسمبلی از یک فایل spec. بسازید (نگاه کنید به SPEC فایل نحو برای جزئیات)، یا
از یک فایل استاندارد .def ویندوز. فایل spec/.def از طریق مشخص می شود -E
گزینه. فایل به دست آمده باید مونتاژ شده و به فایل های شی دیگر پیوند داده شود
برای ساخت dll شراب کار. در این حالت، ورودی فایل ها باید لیستی از
تمام فایل های شی که به dll نهایی پیوند داده می شوند، اجازه می دهد شراب سازی برای به دست آوردن
لیست تمام نمادهای تعریف نشده ای که باید از dll های دیگر وارد شوند.

--exe یک فایل اسمبلی برای یک فایل اجرایی بسازید. این در اصل همان است --dll
حالت به جز اینکه به فایل spec/.def به عنوان ورودی نیاز ندارد، زیرا یک فایل اجرایی است
نیازی به صادرات توابع نیست. با این حال، برخی از فایل های اجرایی، توابع صادراتی و برای را انجام می دهند
آن ها یک فایل .spec/.def را می توان از طریق مشخص کرد -E گزینه. فایل اجرایی نامگذاری شده است
از نام فایل .spec/.def در صورت وجود، یا صریحاً از طریق -F گزینه.
فایل حاصل باید مونتاژ شده و به فایل های شیء دیگر پیوند داده شود تا بسازید
قابل اجرا Wine و تمام فایل های شی دیگر باید به عنوان فهرست شوند ورودی
فایل های.

--def یک فایل .def از یک فایل spec بسازید. فایل spec. از طریق مشخص می شود -E گزینه.
این در هنگام ساختن dll با کامپایلر PE (Win32) استفاده می شود.

-- implib
یک کتابخانه واردات PE از یک فایل مشخصات بسازید. فایل spec. از طریق مشخص می شود -E
گزینه.

--منابع
یک فایل .o حاوی تمام منابع ورودی ایجاد کنید. این در هنگام ساخت مفید است
با یک کامپایلر PE، از آنجایی که PE binutil ها نمی توانند چندین فایل منبع را مدیریت کنند
ورودی برای یک ساخت استاندارد یونیکس، فایل های منبع به طور خودکار گنجانده می شوند
هنگام ساخت فایل مشخصات، بنابراین نیازی به فایل .o متوسط ​​نیست.

OPTIONS


--as-cmd=به عنوان فرمان
دستور مورد استفاده برای کامپایل فایل های اسمبلی را مشخص کنید. پیش فرض است as.

-ب، --target=سازنده cpu[-هسته]-os
CPU و پلتفرمی که کد تولید شده روی آن ساخته خواهد شد را مشخص کنید. در
مشخصات هدف در قالب استاندارد autoconf است که توسط config.sub برگردانده شده است.

--cc-cmd=cc-command
کامپایلر C را برای کامپایل کردن فایل های اسمبلی مشخص کنید. پیش فرض به جای آن است
از اسمبلر مشخص شده با استفاده کنید --as-cmd.

-د، --delay-lib=نام
حالت واردات تاخیری را برای کتابخانه مشخص شده تنظیم کنید، که باید یکی از موارد باشد
کتابخانه های وارد شده با -l گزینه. حالت تأخیر به این معنی است که کتابخانه وجود نخواهد داشت
بارگذاری می شود تا زمانی که تابع وارد شده از آن در واقع فراخوانی شود.

-D نماد
برای سازگاری با کامپایلر C نادیده گرفته شد.

-ه ، -- ورود =تابع
تابع نقطه ورود ماژول را مشخص کنید. اگر مشخص نشده باشد، پیش فرض است DllMain
برای dll ها و اصلی برای فایل های اجرایی (اگر استاندارد C اصلی تعریف نشده است، WinMain
به جای آن استفاده می شود). این فقط برای ماژول های Win32 معتبر است.

-E، --صادرات=نام فایل
یک فایل .spec را مشخص کنید (نگاه کنید به SPEC فایل نحو برای جزئیات)، یا یک Windows .def استاندارد
فایلی که صادرات DLL یا فایل اجرایی در حال ساخت را تعریف می کند.

- نمادهای خارجی
اجازه پیوند به نمادهای خارجی مستقیماً از فایل مشخصات. به طور معمول نمادها
صادر شده توسط dll باید در خود dll تعریف شود. این گزینه باعث می شود
امکان استفاده از نمادهای تعریف شده در کتابخانه یونیکس دیگر (برای نمادهای تعریف شده در
dll دیگر، a رو به جلو به جای آن باید از مشخصات استفاده شود).

-f انتخاب
یک گزینه تولید کد را مشخص کنید. در حال حاضر -fPIC و جداول -فاسینکرون-باز کردن
پشتیبانی می شوند. سایر گزینه ها برای سازگاری با کامپایلر C نادیده گرفته می شوند.

-- ماژول جعلی
به جای اسمبلی یا شیء معمولی، یک ماژول PE جعلی برای یک dll یا exe ایجاد کنید
فایل. ماژول PE حاوی منابع ماژول است، اما هیچ کد اجرایی ندارد.

-اف، --نام فایل=نام فایل
نام فایل ماژول را تنظیم کنید. پیش فرض استفاده از نام پایه مشخصات است
فایل (بدون هیچ پسوندی).

-h، --کمک
نمایش پیام استفاده و خروج.

-H، --heap=اندازه
اندازه پشته محلی ماژول را در بایت مشخص کنید (فقط برای ماژول های Win16 معتبر است).
پیش فرض هیچ پشته محلی است.

-I فهرست راهنما
برای سازگاری با کامپایلر C نادیده گرفته شد.

-k، --کشتن
تزئینات stdcall را از نام نمادها در فایل .def تولید شده حذف کنید.
فقط معنی دار در --def حالت.

-K پرچم ها
برای سازگاری با کامپایلر C نادیده گرفته شد.

--بزرگ-آدرس-آگاه
یک پرچم در فایل اجرایی تنظیم کنید تا به لودر که این برنامه پشتیبانی می کند اطلاع دهد
فضاهای آدرس بزرگتر از 2 گیگابایت.

--ld-cmd=ld-command
دستور مورد استفاده برای پیوند دادن فایل های شی را مشخص کنید. پیش فرض است ld.

-ل، --library-path=فهرست راهنما
دایرکتوری مشخص شده را به فهرست دایرکتوری های جستجو شده اضافه کنید
واردات کتابخانه ها

-ل، --کتابخانه =نام
کتابخانه مشخص شده را وارد کنید، به دنبال یک مربوطه باشید libname.def فایل در
دایرکتوری های مشخص شده با -L گزینه.

-m16، -m32، -64
کدهای 16 بیتی، 32 بیتی یا 64 بیتی را به ترتیب ایجاد کنید.

-مارم، -مهم، -مارس=انتخاب, -mcpu=انتخاب
گزینه های تولید کد را برای اسمبلر تنظیم کنید.

-M، --main-module=واحد
هنگام ساختن یک dll 16 بیتی، نام همتای 32 بیتی آن را روی آن قرار دهید واحد. این
برای اینکه ترتیب بارگذاری برای dll 16 بیتی مطابقت داشته باشد استفاده می شود
32 بیتی یک.

-ن، --dll-name=dllname
نام داخلی ماژول را تنظیم کنید. فقط در ماژول های Win16 استفاده می شود. پیشفرض
استفاده از نام پایه فایل spec (بدون هیچ پسوندی) است. این برای استفاده می شود
KERNEL، زیرا در KRNL386.EXE زندگی می کند. در غیر این صورت نباید نیاز باشد.

--nm-cmd=دستور nm
دستور مورد استفاده برای دریافت لیست نمادهای تعریف نشده را مشخص کنید. پیش فرض است nm.

--nxcompat=بله|نه
مشخص کنید که آیا ماژول با پشتیبانی بدون اجرا سازگار است یا خیر. پیش فرض بله است.

-و ، --خروجی=پرونده
نام فایل خروجی را تنظیم کنید (پیش فرض خروجی استاندارد است). اگر فایل خروجی
نام به .o ختم می شود، خروجی متن به یک فایل موقت فرستاده می شود که سپس اسمبل می شود
برای تولید فایل .o مشخص شده.

-r، --res=rsrc.res
بارگیری منابع از فایل منبع باینری مشخص شده در rsrc.res فایل می تواند باشد
تولید شده از یک فایل منبع منبع با بند(1) (یا با یک منبع ویندوز
کامپایلر).
این گزینه فقط برای فایل های منبع Win16 ضروری است، آنهایی که Win32 به سادگی می توانند
ذکر شده به عنوان ورودی فایل ها و به طور خودکار به درستی مدیریت می شود (اگرچه -r
گزینه برای فایل های Win32 نیز کار خواهد کرد).

--save-temps
فایل های موقت مختلف را که شراب سازی تولید می کند

--زیر سیستم=زیر سیستم[:عمده[.خردسال]]
زیرسیستم فایل اجرایی را تنظیم کنید که می تواند یکی از موارد زیر باشد:
کنسول برای یک خط فرمان قابل اجرا،
پنجره برای یک فایل اجرایی گرافیکی،
بومی برای dll حالت بومی،
چنگ زدن برای dll ce.
نقطه ورود یک خط فرمان اجرایی C معمولی است اصلی تابع. آ wmain
اگر برای استفاده از رشته های یونیکد به آرایه آرگومان نیاز دارید، می توان به جای آن از تابع استفاده کرد.
یک فایل اجرایی گرافیکی دارای a WinMain نقطه ورود.
در صورت تمایل می توان یک نسخه اصلی و فرعی زیرسیستم را نیز مشخص کرد. پیشفرض
نسخه زیر سیستم 4.0 است.

-u، --تعریف نشده=نماد
اضافه کردن نماد به لیست نمادهای تعریف نشده هنگام فراخوانی پیوند دهنده. این باعث می شود
این امکان وجود دارد که یک ماژول خاص از یک کتابخانه استاتیک را مجبور کنیم که در آن گنجانده شود
حل و فصل واردات

-v، -- پرحرف
نمایش دستورات فرعی مختلف که توسط آنها فراخوانی می شود شراب سازی.

- نسخه
نمایش نسخه برنامه و خروج.

-w، -- هشدارها
هشدارها را روشن کنید

SPEC فایل نحو


عمومی (General) نحو
یک فایل مشخصات باید حاوی لیستی از اعلان های ترتیبی باشد. نحو کلی آن است
زیر است:

آیین نامه نوع تابع [پرچم ها] نام صادراتی ( [ارگ...] ) [دستیار]
آیین نامه متغیر [پرچم ها] نام صادراتی ( [داده ها...] )
آیین نامه بیرونی [پرچم ها] نام صادراتی [نام نماد]
آیین نامه خرد [پرچم ها] نام صادراتی [ (ارگ...) ]
آیین نامه برابر است [پرچم ها] نام صادراتی داده ها
# نظرات

اعلان‌ها باید در یک خط قرار گیرند، مگر اینکه انتهای خط با استفاده از a خارج شود
شخصیت بک اسلش در # کاراکتر در هر نقطه از یک خط باعث می شود که بقیه خط باشد
به عنوان نظر نادیده گرفته شد

آیین نامه شماره ترتیبی مربوط به نقطه ورودی یا '@' را برای
تخصیص ترتیبی خودکار (فقط Win32).

پرچم ها مجموعه ای از پرچم های اختیاری است که قبل از آن یک کاراکتر '-' وجود دارد. پرچم های پشتیبانی شده عبارتند از:

-نورله
نقطه ورود در ردیابی اشکال زدایی رله نمایش داده نمی شود (فقط Win32).

-بدون نام
نقطه ورودی به جای نام به صورت ترتیبی صادر می شود. نام است
هنوز برای واردات موجود است.

-ret16 تابع یک مقدار 16 بیتی (فقط Win16) برمی گرداند.

-ret64 تابع یک مقدار 64 بیتی (فقط Win32) برمی گرداند.

-ثبت نام
این تابع از ثبات CPU برای ارسال آرگومان ها استفاده می کند.

-خصوصی
تابع را نمی توان از dll های دیگر وارد کرد، فقط می توان به آن دسترسی داشت
از طریق GetProcAddress.

- ترتیبی
نقطه ورودی به جای نام به صورت ترتیبی وارد می شود. نام است
هنوز صادر می شود

-arch=پردازنده[,پردازنده]
نقطه ورودی فقط در معماری(های) CPU مشخص شده در دسترس است. در
نام win32 و win64 با تمام معماری های CPU 32 بیتی یا 64 بیتی مطابقت دارد
به ترتیب. در dll های 16 بیتی، مشخص می شود -arch=win32 باعث نقطه ورود می شود
از ماژول wrapper 32 بیتی صادر می شود.

عملکرد ترتیبی
نحو:
آیین نامه نوع تابع [پرچم ها] نام صادراتی ( [ارگ...] ) [دستیار]

این اعلان نقطه ورود تابع را تعریف می کند. نمونه اولیه تعریف شده توسط
نام صادراتی ( [ارگ...] ) نام موجود برای پیوند پویا و قالب را مشخص می کند
از استدلال ها به جای «@» می‌توان استفاده کرد نام صادراتی برای صادرات فقط سفارشی

نوع تابع باید یکی از:

stdcall
برای عملکرد معمولی Win32

پاسکال برای عملکرد معمولی Win16

cdecl برای یک تابع Win16 یا Win32 با استفاده از قرارداد فراخوانی C

varargs
برای یک تابع Win16 یا Win32 با استفاده از قرارداد فراخوانی C با یک متغیر
تعداد آرگومان ها

این تماس
برای یک تابع Win32 با استفاده از این تماس قرارداد فراخوانی (پارامتر اول
در %ecx ثبت نام در i386)

قوس باید یک یا چند مورد از موارد زیر باشد:

کلمه (مقدار بدون علامت 16 بیتی)

s_word (کلمه امضا شده 16 بیتی)

طولانی (مقدار صحیح به اندازه اشاره گر)

intxnumx (مقدار صحیح 64 بیتی)

intxnumx (مقدار صحیح 128 بیتی)

شناور (مقدار ممیز شناور 32 بیتی)

دو برابر (مقدار ممیز شناور 64 بیتی)

ptr (نشانگر خطی)

خ (نشانگر خطی به یک رشته ASCII با پایان تهی)

wstr (اشاره گر خطی به یک رشته یونیکد با پایان تهی)

segptr (اشاره گر قطعه بندی شده)

segstr (اشاره گر قطعه بندی شده به یک رشته ASCII با پایان تهی).

توجه: انواع اشاره گر 16 بیتی و قطعه بندی شده فقط برای توابع Win16 معتبر هستند.

دستیار نام تابع C واقعی است که آن نقطه ورودی را در آن پیاده سازی می کند
حالت 32 بیتی کنترل کننده را نیز می توان به صورت مشخص کرد dllname.تابع برای تعریف فوروارد شده
تابع (یکی که پیاده سازی آن در dll دیگری است). اگر دستیار مشخص نشده است
فرض می شود که یکسان است نام صادراتی

این مثال اول یک نقطه ورودی برای فراخوانی 32 بیتی GetFocus() تعریف می کند:

@ stdcall GetFocus() GetFocus

این مثال دوم یک نقطه ورودی برای فراخوانی ()CreateWindow 16 بیتی تعریف می‌کند.
100 فقط یک مثال است)؛ همچنین نشان می دهد که چقدر خطوط را می توان با استفاده از بک اسلش تقسیم کرد:

100 پاسکال CreateWindow(ptr ptr طولانی s_word s_word s_word \
s_word word word word ptr) WIN_CreateWindow

برای اعلام یک تابع با استفاده از تعداد متغیر آرگومان، تابع را به عنوان مشخص کنید
varargs و آن را در فایل C با پارامتر '...' برای تابع Win32 یا با
یک آرگومان اضافی VA_LIST16 برای یک تابع Win16. توابع wsprintf* را در اینجا ببینید
به عنوان مثال user.exe.spec و user32.spec.

متغیر ترتیبی
نحو:
آیین نامه متغیر [پرچم ها] نام صادراتی ( [داده ها...] )

این اعلان ذخیره سازی داده را به عنوان کلمات 32 بیتی در ترتیب مشخص شده تعریف می کند.
نام صادراتی نام موجود برای پیوند پویا خواهد بود. داده ها می تواند یک عدد اعشاری باشد
یا یک عدد هگز قبل از "0x". مثال زیر متغیر VariableA در را تعریف می کند
ترتیبی 2 و حاوی 4 اینت:

2 متغیر VariableA(-1 0xff 0 0)

این اعلان فقط در فایل های Win16 spec کار می کند. در Win32 باید استفاده کنید بیرونی در عوض
(به زیر مراجعه کنید)

خارجي ترتیبی
نحو:
آیین نامه بیرونی [پرچم ها] نام صادراتی [نام نماد]

این اعلان یک ورودی را تعریف می کند که به سادگی به نماد C (متغیر یا تابع) نگاشت می شود.
این فقط در فایل های با مشخصات Win32 کار می کند. نام صادراتی به نماد اشاره خواهد کرد نام نماد که
باید در کد C تعریف شود. از طرف دیگر، می تواند به شکل باشد dllname.نام نماد به
یک نماد فوروارد شده (یکی که پیاده سازی آن در dll دیگری است) تعریف کنید. اگر نام نماد is
مشخص نشده است، فرض می شود که یکسان است نام صادراتی

خرد ترتیبی
نحو:
آیین نامه خرد [پرچم ها] نام صادراتی [ (ارگ...) ]

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

مساوی کردن ترتیبی
نحو:
آیین نامه برابر است [پرچم ها] نام صادراتی داده ها

این اعلان یک ترتیبی را به عنوان یک مقدار مطلق تعریف می کند. نام صادراتی نام خواهد بود
برای پیوندهای پویا موجود است. داده ها می تواند یک عدد اعشاری یا یک عدد هگز قبل از آن باشد
"0x".

AUTHORS


شراب سازی در طول سال ها توسط افراد زیادی روی آن کار شده است. نویسندگان اصلی رابرت جی.
آمشتات، الکساندر جولیارد، مارتین فون لوویس، اولریش ویگاند و اریک یانگدیل. زیاد
افراد دیگر ویژگی های جدید و رفع اشکال را ارائه کرده اند. برای فهرست کامل، git را ببینید
ثبت گزارش ها

با استفاده از خدمات onworks.net از winebuild-development آنلاین استفاده کنید


Ad


Ad