.de Sp \"
.if t .sp .5v
.if n .sp
..
.TH CIL Linker "monolinker"
.SH "نام (NAME)"
monolinker \- لینکر کدهای CIL در مونو (Mono)
.SH "خلاصه دستور (SYNOPSIS)"
.PP
.B monolinker [\-o output_directory] [\-l i18n_assemblies] [\-c skip | copy | link] \-x descriptor | \-a assembly | \-i info_file ...
.SH "توضیحات (DESCRIPTION)"
ابزار
.B monolinker
یک پیونددهنده (لینکر) برای بایتکدهای CIL است.
.PP
لینکر ابزاری است که میتوان برای انتشار تنها حداقل مجموعه توابع لازم جهت اجرای مجموعهای از برنامهها (در برابر انتشار کامل کتابخانهها) از آن بهره برد.
.PP
این ابزار کدهای میانی (CIL) تولیدشده توسط هر کامپایلری که سکوی Mono را هدف قرار داده باشد (نظیر mcs، gmcs، vbnc، booc و غیره) را تحلیل میکند. این برنامه تمام کدهای ورودی را بررسی کرده و کلاسها و متدهای بلااستفاده را با عملیات علامتگذاری و جاروب (mark and sweep) حذف مینماید.
.PP
خروجی حاصل از monolinker را میتوان بعداً با ابزار
.I mkbundle
پردازش کرد تا فایلهای اجرایی نیتیو، کمحجم و خودکفا تولید شوند.
.PP
این ابزار نباید با Assembly Linker (al) که فایلهای اسمبلی را از مانیفستها، ماژولها و منابع میسازد اشتباه گرفته شود.
.SH "گزینهها (OPTIONS)"
.TP
.BI "\-d " search_directory
تعیین دایرکتوری مورد نظر جهت جستجوی فایلهای اسمبلی توسط لینکر.
.TP
.BI "\-o " output_directory
تعیین دایرکتوری خروجی (پیشفرض: 'output').
.Sp
چنانچه دایرکتوری `.` را تعیین میکنید، اطمینان حاصل نمایید که بر روی اسمبلیهای حیاتی موجود بازنویسی انجام نشود.
.TP
.BI "\-b " "true | false"
تعیین تولید یا عدم تولید نمادهای اشکالزدایی (پیشفرض: false).
.TP
.BI "\-g " "true | false"
تعیین اینکه آیا برای هر ماژول لینکشده یک guid جدید تولید شود یا از مقدار موجود استفاده گردد (پیشفرض: true).
.TP
.BI "\-l " i18n_assemblies
تعیین نحوه برخورد با اسمبلیهای منطقهای و بینالمللیسازی (i18n):
.Sp
مونو شامل چند فایل اسمبلی است که حاوی اجزای خاص مناطق مختلف هستند:
.nf
I18N.CJK.dll
I18N.MidEast.dll
I18N.Other.dll
I18N.Rare.dll
I18N.West.dll
.fi
.Sp
به طور پیشفرض، تمامی آنها در دایرکتوری خروجی کپی میشوند، اما میتوانید با استفاده از این گزینه موارد مورد نیاز را مشخص کنید: none، all، cjk، mideast، other، rare یا west (میتوان مقادیر را با کاما ترکیب نمود).
.TP
.BI "\-c " action
تعیین عملیاتی که باید بر روی اسمبلیهای هسته (core assemblies) اعمال شود.
.Sp
اسمبلیهای هسته به کتابخانه کلاس پایه تعلق دارند، مانند mscorlib.dll، System.dll یا System.Windows.Forms.dll.
.Sp
سه عملیات قابل اعمال هستند:
.RS
.ne 8
.TP
.I skip
نادیده گرفتن آنها توسط لینکر و عدم انجام هرگونه عملیات.
.TP
.I copy
کپی کردن آنها در دایرکتوری خروجی.
.TP
.I link
اعمال فرآیند پیوند و کاهش حجم آنها.
.ne
.RE
.Sp
.TP
.BI "\-p " "action assembly"
تعیین عملیات به ازای هر اسمبلی به صورت جداگانه.
.TP
.BI "\-x " descriptor
استفاده از یک فایل توصیفگر XML به عنوان مبدأ برای لینکر.
.Sp
نمونهای از قالب توصیفگر XML:
.Sp
.nf
.fi
.Sp
در این مثال، لینکر انواع Foo، Bar، Baz و Gazonk را پیوند خواهد داد.
.TP
.BI "\-a " assemblies
استفاده از یک اسمبلی به عنوان منبع لینکر. لینکر تمام متدهای آن را پیمایش میکند تا تنها اجزای لازم را تولید نماید.
.TP
.BI "\-i " info_file
استفاده از یک فایل xml از نوع .info به عنوان ورودی (تولیدشده توسط mono-api-info).
.TP
.BI "\-s " "[StepBefore:]StepFullName,StepAssembly[:StepAfter]"
اجرای گامهای سفارشی در خط لوله لینکر.
.Sp
نمونه:
.Sp
.nf
using System;
using Mono.Linker;
using Mono.Linker.Steps;
namespace Foo {
public class FooStep : IStep {
public void Process (LinkContext context)
{
foreach (IStep step in context.Pipeline.GetSteps ()) {
Console.WriteLine (step.GetType ().Name);
}
}
}
}
.fi
.Sp
افزودن FooStep در انتهای خط لوله:
.Sp
.nf
monolinker -s Foo.FooStep,Foo -a program.exe
.fi
.Sp
افزودن FooStep پس از MarkStep:
.Sp
.nf
monolinker -s MarkStep:Foo.FooStep,Foo -a program.exe
.fi
.TP
.BI "\-m " "CustomParam ParamValue"
تعیین پارامتر برای یک گام سفارشی.
.SH "حق نشر (COPYRIGHT)"
حق نشر (C) 2007 متعلق به Novell, Inc ()
.SH "اشکالات (BUGS)"
گزارش اشکالات در نشانی زیر قابل ثبت است:
.PP
.SH "فهرستهای پستی (MAILING LISTS)"
فهرستهای پستی در نشانی زیر موجود است:
.PP
.SH "پایگاه وب (WEB SITE)"
.SH "نویسندگان (AUTHORS)"
این لینکر توسط Jb Evain نوشته شده و بخشی از آن توسط Google Summer of Code تأمین مالی شده است.
.SH "مجوز (LICENSE)"
این ابزار تحت مجوز MIT/X11 منتشر شده است.
.SH "همچنین ببینید (SEE ALSO)"
.BR al (1),
.BR mkbundle (1),
.BR mono (1),
.BR mcs (1)