ืื ื’ืœื™ืชืฆืจืคืชื™ืชืกืคืจื“ื™

Ad


ืกืžืœ OnWorks

dmcs - ืžืงื•ื•ืŸ ื‘ืขื ืŸ

ื”ืคืขืœ dmcs ื‘ืกืคืง ืื™ืจื•ื— ื‘ื—ื™ื ื ืฉืœ OnWorks ืขืœ ืื•ื‘ื•ื ื˜ื• ืžืงื•ื•ืŸ, ืคื“ื•ืจื” ืžืงื•ื•ืŸ, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ื–ื•ื”ื™ ื”ืคืงื•ื“ื” dmcs ืฉื ื™ืชืŸ ืœื”ืคืขื™ืœ ื‘ืกืคืง ื”ืื™ืจื•ื— ื”ื—ื™ื ืžื™ ืฉืœ OnWorks ื‘ืืžืฆืขื•ืช ืื—ืช ืžืชื—ื ื•ืช ื”ืขื‘ื•ื“ื” ื”ืžืงื•ื•ื ื•ืช ื”ืžืจื•ื‘ื•ืช ืฉืœื ื•, ื›ื’ื•ืŸ Ubuntu Online, Fedora Online, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ืชึธื›ึฐื ึดื™ืช:

ืฉืึตื


mcs - ืžื”ื“ืจ ืžื•ื ื• C#

ืชึทืงืฆึดื™ืจ


Mcs [ืื•ืคืฆื™ื”] [ืงื‘ืฆื™ ืžืงื•ืจ]

ืชื™ืื•ืจ


mcs ื”ื•ื ืžื”ื“ืจ Mono C#, ื™ื™ืฉื•ื ืฉืœ ืžืคืจื˜ ื”ืฉืคื” ECMA-334.
ืืชื” ื™ื›ื•ืœ ืœื”ืขื‘ื™ืจ ืืคืฉืจื•ืช ืื—ืช ืื• ื™ื•ืชืจ ืœื”ื ืขืช ื”ืžื”ื“ืจ, ื•ื›ืŸ ืงื‘ื•ืฆื” ืฉืœ ืงื‘ืฆื™ ืžืงื•ืจ. ืชื•ึนืกึถืคึถืช
ื ื™ืชืŸ ืœืกืคืง ืืคืฉืจื•ื™ื•ืช ืื• ืืจื’ื•ืžื ื˜ื™ื ื‘ืงื•ื‘ืฅ ืชื’ื•ื‘ื”. ืงื‘ืฆื™ ืชื’ื•ื‘ื•ืช ืžื•ืคื ื™ื ืขืœ ื™ื“ื™
ื”ื•ืกืคืช ื”ืกืžืœ @ ืœืฉื ืงื•ื‘ืฅ ื”ืชื’ื•ื‘ื”.

ืืœ ื”ืื ื™ Mcs ื”ืžื”ื“ืจ ืžืฉืžืฉ ืœืงื•ืžืคื™ืœืฆื™ื” ืžื•ืœ ื”ื’ืจืกื” ื”ืขื“ื›ื ื™ืช ื‘ื™ื•ืชืจ ืฉืœ Mono Base Class Library ื•
ืžื™ื™ืฉื ื‘ืื•ืคืŸ ืžืœื ืืช ืžืคืจื˜ื™ C# 1.0, 2.0, 3.0 ื•-4.0.

ืขื™ื™ืŸ ื‘ืกืขื™ืฃ ืขืœ ื—ื‘ื™ืœื•ืช ืœืžื™ื“ืข ื ื•ืกืฃ.

ื”ืžื”ื“ืจ Mono C# ืžืงื‘ืœ ืืช ืื•ืชืŸ ืืคืฉืจื•ื™ื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” ืฉื‘ื”ืŸ ื”ืžื”ื“ืจ ืฉืœ Microsoft C#
ืขื•ืฉื”. ื”ืืคืฉืจื•ื™ื•ืช ื”ืœืœื• ื™ื›ื•ืœื•ืช ืœื”ืชื—ื™ืœ ืขื ืงื• ื ื˜ื•ื™ ืื• ืžืงืฃ (/checked ื–ื”ื” ืœ-checked).
ื‘ื ื•ืกืฃ, ื—ืœืง ืžื”ืืคืฉืจื•ื™ื•ืช ื“ืžื•ื™ื•ืช GNU ื ืชืžื›ื•ืช, ืืœื• ืžืชื—ื™ืœื•ืช ื‘-"--". ื”ื›ืœ ืกืคืฆื™ืคื™ ืœ-MCS
ื“ื’ืœื™ื ืฉืื™ื ื ื–ืžื™ื ื™ื ื‘ืžื”ื“ืจ Microsoft C# ื–ืžื™ื ื™ื ืจืง ืขื
ืืคืฉืจื•ื™ื•ืช ื‘ืกื’ื ื•ืŸ ื’ื ื•.

ืงื‘ืฆื™ ืžืงื•ืจ C# ื—ื™ื™ื‘ื™ื ืœื”ืกืชื™ื™ื ื‘ืกื™ื•ืžืช ".cs". ื”ื™ื“ื•ืจ ืฉืœ ืงื•ื“ ื”ืžืงื•ืจ C# ื“ื•ืจืฉ
ื›ืœ ื”ืงื‘ืฆื™ื ื”ืžืจื›ื™ื‘ื™ื ืกืคืจื™ื™ื”, ืžื•ื“ื•ืœ ืื• ืงื•ื‘ืฅ ื”ืคืขืœื” ืฉื™ืกื•ืคืงื• ื‘ืคืงื•ื“ื”
ืงึทื•. ืื™ืŸ ืชืžื™ื›ื” ื‘ืงื•ืžืคื™ืœืฆื™ื” ื—ืœืงื™ืช. ื›ื“ื™ ืœื”ืฉื™ื’ ืืช ื”ื™ืชืจื•ื ื•ืช ืฉืœ ื—ืœืงื™ืช
ืงื•ืžืคื™ืœืฆื™ื”, ืขืœื™ืš ืœืงืžืคืœ ืชื•ื›ื ื™ื•ืช ืœืžื›ืœื•ืœื™ื ืžืฉืœื”ืŸ, ื•ืœื”ืชื™ื™ื—ืก ืžืื•ื—ืจ ื™ื•ืชืจ
ืื•ืชื ืขื ื”ื“ื’ืœ "-r".

ื”ืžื”ื“ืจ Mono C# ื™ื•ืฆืจ ืชืžื•ื ื•ืช (ืงื‘ืฆื™.exe) ื”ืžื›ื™ืœื•ืช ืงื•ื“ ื‘ื™ื™ื˜ CIL ืฉื™ื›ื•ืœ ืœื”ื™ื•ืช
ืžื‘ื•ืฆืข ืขืœ ื™ื“ื™ ื›ืœ ืžืขืจื›ืช ื”ืžื™ื™ืฉืžืช ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืฉืœ ืชืฉืชื™ืช ืฉืคื” ืžืฉื•ืชืคืช
ื›ื’ื•ืŸ ืžื ื•ืข ื–ืžืŸ ื”ืจื™ืฆื” ืฉืœ Microsoft .NET ื‘-Windows ืื• ืžื ื•ืข ื–ืžืŸ ื”ืจื™ืฆื” ืžื•ื ื• ื‘-Unix
ืžืขืจื›ื•ืช. ืงื•ื‘ืฆื™ ื”ืคืขืœื” ืื™ื ื ืงืฉื•ืจื™ื ืœืžืขื‘ื“ ืื• ืœืžืขืจื›ืช ื”ืคืขืœื” ืกืคืฆื™ืคื™ื™ื.

ืžื”ื“ืจ Mono C# ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืžืชื™ื™ื—ืก ืจืง ืœืฉืœื•ืฉื” ืžื›ืœื•ืœื™ื: mscorlib.dll, System.dll
ื•-System.Xml.dll. ืื ื‘ืจืฆื•ื ืš ืœื”ืชื™ื™ื—ืก ืœืกืคืจื™ื•ืช ื ื•ืกืคื•ืช, ืขืœื™ืš ืœืฆื™ื™ืŸ ื‘ืื•ืคืŸ ื™ื“ื ื™
ืื•ืชื ื‘ืืžืฆืขื•ืช ืืคืฉืจื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” -pkg: ืื• ืืคืฉืจื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” -r:. ืœื—ื™ืœื•ืคื™ืŸ ืื
ื‘ืจืฆื•ื ืš ืœืงื‘ืœ ืืช ื›ืœ ืกืคืจื™ื•ืช ื”ืžืขืจื›ืช, ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” -pkg:dotnet
ืื•ึนืคึผึฐืฆึดื™ึธื”.

ืืคืฉืจื•ื™ื•ืช


--ืขืœ ืื•ื“ื•ืช
ืžืฆื™ื’ ืžื™ื“ืข ืขืœ ื”ืžื”ื“ืจ Mono C#

--addmodule:MODULE1[,MODULE2]
ื›ื•ืœืœ ืืช ื”ืžื•ื“ื•ืœื™ื ืฉืฆื•ื™ื ื• ื‘ื”ืจื›ื‘ื” ื”ืžืชืงื‘ืœืช. ืžื•ื“ื•ืœื™ื ื ื•ืฆืจื™ื ืขืœ ื™ื“ื™
ืงื•ืจื ืœืžื”ื“ืจ ืขื ืืคืฉืจื•ืช -target:module

-ื‘ึผึธื“ื•ึผืง, -ืžืกื•ืžืŸ+
ืžื’ื“ื™ืจ ืืช ืžืฆื‘ ื”ื”ื™ื“ื•ืจ ื”ืžื•ื’ื“ืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืœ'ืžืกื•ืžืŸ'. ื–ื” ืขื•ืฉื” ืืช ื›ืœ ืคืขื•ืœื•ืช ื”ืžืชืžื˜ื™ืงื”
ืžืกื•ืžืŸ (ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืื™ื ื” ืžืกื•ืžื ืช).

-ื‘ึผึธื“ื•ึผืง-
ืžื’ื“ื™ืจ ืืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ ืžืฆื‘ ื”ื™ื“ื•ืจ ืœ'ืœื ืžืกื•ืžืŸ'. ื–ื” ืขื•ืฉื” ืืช ื›ืœ ื”ืžืชืžื˜ื™ืงื”
ืคืขื•ืœื•ืช ืœื ืžืกื•ืžื ื•ืช (ื–ื•ื”ื™ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ).

-clscheck-, -clscheck+
ืžืฉื‘ื™ืช ืื• ืžืคืขื™ืœ ืืช ื‘ื“ื™ืงื•ืช ืžืคืจื˜ ื”ืฉืคื” ื”ื ืคื•ืฆื” (CLS) (ื”ื•ื ืžื•ืคืขืœ
ื›ื‘ืจื™ืจืช ืžื—ื“ืœ).

ืžืคืจื˜ ื”ืฉืคื” ื”ืžืฉื•ืชืคืช (CLS) ืžื’ื“ื™ืจ ืชืช-ืงื‘ื•ืฆื” ืฉืœ ื˜ื™ืคื•ืกื™ื ื”ื“ื“ื™ืช ื›
ื›ืžื• ื’ื ืžื•ืกื›ืžื•ืช ืฉืžื”ื“ืจื™ื (ืžืคื™ืงื™ CLS) ื•ืžืคืชื—ื™ื ื—ื™ื™ื‘ื™ื ืœืขืงื•ื‘ ืื—ืจื™ื”ื
ืœื—ืฉื•ืฃ ืงื•ื“ ืœืฉืคื•ืช ืชื›ื ื•ืช ืื—ืจื•ืช (ืฆืจื›ื ื™ CLS).

-ืงื•ื“:ืžื–ื”ื”
ืžืฆื™ื™ืŸ ืืช ื“ืฃ ื”ืงื•ื“ ื”ืžืฉืžืฉ ืœืขื™ื‘ื•ื“ ืงื‘ืฆื™ ื”ืงืœื˜ ืžื”ื ืงื•ื“ื” ืฉื‘ื” ื”ื•ื ื ืžืฆื
ืฆื•ื™ืŸ ื‘. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืงื‘ืฆื™ื ื™ืขื•ื‘ื“ื• ื‘ืกื‘ื™ื‘ื” ืชืœื•ื™ื”
ื“ืฃ ืงื•ื“ ืžืงื•ืจื™. ื”ืžื”ื“ืจ ื’ื ื™ื–ื”ื” ืื•ื˜ื•ืžื˜ื™ืช ืงื‘ืฆื™ Unicode
ื™ืฉ ืกื™ืžืŸ ื‘ืชื™ื ืžื•ื˜ื‘ืข ื‘ื”ืชื—ืœื”.

ืงื™ื“ื•ื“ื™ื ืคื•ืคื•ืœืจื™ื™ื ื ื•ืกืคื™ื ื”ื 28591 (Latin1), 1252 (iso-8859-1) ื•-65001 (UTF-8).

MCS ืชื•ืžืš ื‘ื›ืžื” ืงื™ืฆื•ืจื™ื: "utf8" ื™ื›ื•ืœ ืœืฉืžืฉ ื›ื“ื™ ืœืฆื™ื™ืŸ utf-8 ื‘ืžืงื•ื
ืฉื™ืžื•ืฉ ื‘-65001 ื”ืงืจื™ืคื˜ื™ ื•"ืื™ืคื•ืก" ืžืฉื—ื–ืจ ืืช ื”ื˜ื™ืคื•ืœ ื”ืื•ื˜ื•ืžื˜ื™ ื‘ื“ืคื™ ืงื•ื“.
ืงื™ืฆื•ืจื™ื ืืœื” ืื™ื ื ื–ืžื™ื ื™ื ื‘ืžื”ื“ืจ ืฉืœ Microsoft.

-define:SYMLIST, -d:SYMLIST
ืžื’ื“ื™ืจ ืืช ื”ืกืžืœ ื”ืจืฉื•ื ื‘ืจืฉื™ืžื” ื”ืžื•ืคืจื“ืช ื‘ื ืงื•ื“ื”-ืคืกื™ืง SYMLIST SYMBOL. ื–ึถื”
ื ื™ืชืŸ ืœื‘ื“ื•ืง ื‘ืงื•ื“ ื”ืžืงื•ืจ ืขืœ ื™ื“ื™ ื”ืžืขื‘ื“ ื”ืžื•ืงื“ื, ืื• ืœื”ืฉืชืžืฉ ื‘ืฉื™ื˜ื•ืช
ืฉืชื•ื™ื’ื• ืขื ื”ืชื›ื•ื ื” Conditional.

-ืœื ืคื•ืช, -debug+
ืฆื•ืจ ืžื™ื“ืข ืขืœ ื ื™ืคื•ื™ ื‘ืื’ื™ื. ื›ื“ื™ ืœื”ืฉื™ื’ ืขืงื‘ื•ืช ืžื—ืกื ื™ืช ืขื ืžื™ื“ืข ืขืœ ื ื™ืคื•ื™ ื‘ืื’ื™ื,
ืืชื” ืฆืจื™ืš ืœื”ืคืขื™ืœ ืืช ื–ืžืŸ ื”ืจื™ืฆื” ื”ืžื•ื ื• ืขื ื”ื“ื’ืœ `--debug'. ืื™ืชื•ืจ ื”ื‘ืื’ื™ื
ื”ืžื™ื“ืข ืžืื•ื—ืกืŸ ื‘ืงื•ื‘ืฅ MDB ืฉื ืžืฆื ื‘ืื•ืชื” ืชื™ืงื™ื™ืช ืคืœื˜ ื›ืคื™ ืฉื”ื•ืคืงื”
ื”ืจื›ื‘ื”.

-ืœื ืคื•ืช-
ืืœ ืชื™ืฆื•ืจ ืžื™ื“ืข ืขืœ ื ื™ืคื•ื™ ื‘ืื’ื™ื.

-ื“ื™laysign+
ื”ื˜ืžืข ืจืง ืืช ื”ืžืคืชื— ื”ืฆื™ื‘ื•ืจื™ ื”ื—ื–ืง ื‘ื”ืจื›ื‘ื”. ื”ื—ืชื™ืžื” ื‘ืคื•ืขืœ ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช
ื ืขืฉื” ื‘ืฉืœื‘ ืžืื•ื—ืจ ื™ื•ืชืจ ื‘ืืžืฆืขื•ืช ื”ื›ืœื™ SN. ื–ื” ืฉื™ืžื•ืฉื™ ื›ื“ื™ ืœื”ื’ืŸ ืขืœ ื”ืžืคืชื— ื”ืคืจื˜ื™
ื‘ืžื”ืœืš ื”ืคื™ืชื•ื—. ืฉื™ืžื• ืœื‘ ืฉื ื™ืชืŸ ืœื‘ืฆืข ื—ืชื™ืžื” ื‘ื”ืฉื”ื™ื” ืจืง โ€‹โ€‹ื‘ืืžืฆืขื•ืช ืžืคืชื— ื—ื–ืง ืฉื
ืงื•ื‘ืฅ (ืœื ืžื™ื›ืœ ืžืคืชื—). ื”ืืคืฉืจื•ืช ืฉื•ื•ื” ืœื›ืœื•ืœ [ื”ืจื›ื‘ื”:
AssemblyDelaySign (true)] ื‘ืงื•ื“ ื”ืžืงื•ืจ ืฉืœืš. ืืคืฉืจื•ืช ื”ืžื”ื“ืจ ืขื“ื™ืคื”
ืขืœ ื”ืชื›ื•ื ื•ืช.

-ืกื™ืžืŸ ืขื™ื›ื•ื‘-
ื‘ึผึฐืจึดื™ืจึทืช ืžึถื—ื“ึธืœ. Strongname (ื—ืชื•ื) ืืช ื”ืžื›ืœื•ืœ ื‘ืืžืฆืขื•ืช ืงื•ื‘ืฅ ืžืคืชื— ื”ืฉื ื—ื–ืง (ืื•
ืžึฐื›ื•ึนืœึธื”). ื”ืืคืฉืจื•ืช ืฉื•ื•ื” ืœื›ืœื•ืœ [ื”ืจื›ื‘ื”: AssemblyDelaySign
(false)] ื‘ืงื•ื“ ื”ืžืงื•ืจ ืฉืœืš. ืืคืฉืจื•ืช ื”ืžื”ื“ืจ ืขื“ื™ืคื” ืขืœ ื”ืชื›ื•ื ื•ืช.

-doc:FILE
ืžื—ืœืฅ ืืช ืชื™ืขื•ื“ C#/XML ืžืงื•ื“ ื”ืžืงื•ืจ ื•ืžืื—ืกืŸ ื‘ื ืชื•ืŸ
ืงื•ึนื‘ึถืฅ.

-ื“ื•"ื— ืฉื’ื™ืื”
ืžื“ื’ืœ ื–ื” ืžืชืขืœื ืขืœ ื™ื“ื™ ืžื”ื“ืจ C# ืฉืœ Mono ื•ื”ื•ื ืงื™ื™ื ืจืง ื›ื“ื™ ืœืืคืฉืจ ืœ-MCS ืœื”ื™ื•ืช
ืžืฉืžืฉ ื›ืชื—ืœื™ืฃ CSC ืขื‘ื•ืจ msbuild/xbuild.

--ืงึธื˜ืœึธื ึดื™
ื–ื” ืžืฉืžืฉ ืœืื™ืชื•ืจ ื‘ืื’ื™ื ื‘ืžื”ื“ืจ. ื–ื” ื’ื•ืจื ืœืคืœื™ื˜ืช ื”ืฉื’ื™ืื” ืœื™ืฆื•ืจ an
ื—ืจื™ื’ ืฉื™ื›ื•ืœ ืœื”ื™ืชืคืก ืขืœ ื™ื“ื™ ืžืืชืจ ื‘ืื’ื™ื.

-ืœื™ื™ืฉืจ ืงื‘ืฆื™ื
ืžื“ื’ืœ ื–ื” ืžืชืขืœื ืขืœ ื™ื“ื™ ืžื”ื“ืจ C# ืฉืœ Mono ื•ื”ื•ื ืงื™ื™ื ืจืง ื›ื“ื™ ืœืืคืฉืจ ืœ-MCS ืœื”ื™ื•ืช
ืžืฉืžืฉ ื›ืชื—ืœื™ืฃ CSC ืขื‘ื•ืจ msbuild/xbuild.

-ืฉื‘ื™ืœื™ื ืžืœืื™ื
ื›ืœ ืฉื’ื™ืืช ืงื•ื“ ืžืงื•ืจ ืื• ืื–ื”ืจื” ืฉื”ื•ื ืคืงื” ืขืœ ื™ื“ื™ ื”ืžื”ื“ืจ ื›ื•ืœืœืช ืืช ืฉื ื”ืงื•ื‘ืฅ ืจืง ืขืœ ื™ื“ื™
ื‘ึผึฐืจึดื™ืจึทืช ืžึถื—ื“ึธืœ. ืืคืฉืจื•ืช ื–ื• ื’ื•ืจืžืช ืœืžื”ื“ืจ ืœื”ื ืคื™ืง ื ืชื™ื‘ ืงื•ื‘ืฅ ืžื•ื—ืœื˜ ื‘ืžืงื•ื ื–ืืช.

-keyfile:KEYFILE
Strongname (ืกื™ืžืŸ) ืœืžื›ืœื•ืœ ื”ืคืœื˜ ื‘ืืžืฆืขื•ืช ืฆืžื“ ื”ืžืคืชื—ื•ืช ื”ืงื™ื™ื ื‘ืžืคืจื˜ ืฉืฆื•ื™ืŸ
ืงื•ื‘ืฅ ืžืคืชื— ืฉื ื—ื–ืง (snk). ื–ื•ื’ ืžืคืชื—ื•ืช ืžืœื ื ื“ืจืฉ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ (ืื• ื‘ืขืช ืฉื™ืžื•ืฉ
Delaysign-). ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืงื•ื‘ืฅ ื”ืžื›ื™ืœ ืจืง ืืช ื”ืžืคืชื— ื”ืฆื™ื‘ื•ืจื™ ืขื delaysign+. ื”
ืืคืฉืจื•ืช ืฉื•ื•ื” ืœื›ืœื•ืœ [assembly: AssemblyKeyFile ("KEYFILE")] ื‘ืงื•ื‘ืฅ ืฉืœืš
ืงื•ื“ ืžืงื•ืจ. ืืคืฉืจื•ืช ื”ืžื”ื“ืจ ืขื“ื™ืคื” ืขืœ ื”ืชื›ื•ื ื•ืช.

-ืžื›ืœ ืžืคืชื—:CONTAINER
Strongname (ืกื™ืžืŸ) ืœืžื›ืœื•ืœ ื”ืคืœื˜ ื‘ืืžืฆืขื•ืช ืฆืžื“ ื”ืžืคืชื—ื•ืช ื”ืงื™ื™ื ื‘ืžืคืจื˜ ืฉืฆื•ื™ืŸ
ืžึฐื›ื•ึนืœึธื”. ืฉื™ืžื• ืœื‘ ืฉืžืชืขืœืžื™ื ืžื”-delaysign+ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžื›ื•ืœื•ืช ืžืคืชื—. ื”ืืคืฉืจื•ืช ื”ื™ื
ืฉื•ื•ื” ืขืจืš ืœื›ืœื•ืœ [assembly: AssemblyKeyName ("CONTAINER")] ื‘ืžืงื•ืจ ืฉืœืš
ืงื•ื“. ืืคืฉืจื•ืช ื”ืžื”ื“ืจ ืขื“ื™ืคื” ืขืœ ื”ืชื›ื•ื ื•ืช.

-langversion:TEXT
ื”ืืคืฉืจื•ืช ืžืฆื™ื™ื ืช ืืช ื’ืจืกืช ื”ืฉืคื” ืฉื‘ื” ื™ืฉ ืœื”ืฉืชืžืฉ. ืขืจื›ืช ื”ืชื›ื•ื ื•ืช ื”ื™ื
ืฉื•ื ื” ื‘ื›ืœ ื’ืจืกืช C#. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื‘ื•ืจืจ ื–ื” ื›ื“ื™ ืœืืœืฅ ืืช ื”ืžื”ื“ืจ ืœืขืฉื•ืช ื–ืืช
ืืคืฉืจ ืจืง ืชืช-ืงื‘ื•ืฆื” ืฉืœ ื”ืชื›ื•ื ื•ืช. ื”ืขืจื›ื™ื ื”ืืคืฉืจื™ื™ื ื”ื:

ื‘ึผึฐืจึดื™ืจึทืช ืžึถื—ื“ึธืœ
ื”ื•ืจืื” ืœืžื”ื“ืจ ืœื”ืฉืชืžืฉ ื‘ื’ืจืกื” ื”ืขื“ื›ื ื™ืช ื‘ื™ื•ืชืจ. ืฉื•ื•ื” ืขืจืš ื”ื•ื ืœื”ืฉืžื™ื˜ ืืช
switch (ื–ื” ื›ืจื’ืข ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืœืžืคืจื˜ ืฉืคืช C# 4.0).

ISO-1 ื”ื’ื‘ืœ ืžื”ื“ืจ ืœื”ืฉืชืžืฉ ืจืง ื‘ืชื›ื•ื ื•ืช ื”ืกื˜ื ื“ืจื˜ื™ื•ืช ื”ืจืืฉื•ื ื•ืช ืฉืœ ISO. ื”ืฉื™ืžื•ืฉ ื‘
ืชื›ื•ื ื•ืช ื›ื’ื•ืŸ ื’ื ืจื™ื•ืช, ืžื—ืœืงื•ืช ืกื˜ื˜ื™ื•ืช, ืฉื™ื˜ื•ืช ืื ื•ื ื™ืžื™ื•ืช ื™ื•ื‘ื™ืœื•
ืฉื’ื™ืื”.

ISO-2 ื”ื’ื‘ืœ ืžื”ื“ืจ ืœื”ืฉืชืžืฉ ืจืง ื‘ืชื›ื•ื ื•ืช ื”ืกื˜ื ื“ืจื˜ื™ื•ืช ื”ืฉื ื™ื•ืช ืฉืœ ISO. ื–ึถื”
ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ื’ื ืจื™ื•ืช, ืžื—ืœืงื•ืช ืกื˜ื˜ื™ื•ืช, ืื™ื˜ืจื˜ื•ืจื™ื ื•ืฉื™ื˜ื•ืช ืื ื•ื ื™ืžื™ื•ืช
ืœืžืฉืœ.

3 ื”ื’ื‘ืœ ืืช ื”ืžื”ื“ืจ ืœื”ืฉืชืžืฉ ืจืง ื‘ืชื›ื•ื ื•ืช ื”ื–ืžื™ื ื•ืช ื‘-C# 3.0 (ื
ืขืจื›ืช-ืขืœ ืฉืœ ISO-1 ื•-ISO-2).

4 ื”ื’ื‘ืœ ืืช ื”ืžื”ื“ืจ ืœื”ืฉืชืžืฉ ืจืง ื‘ืชื›ื•ื ื•ืช ื”ื–ืžื™ื ื•ืช ื‘-C# 4.0
ืžืคืจื˜.

ื ื™ืกื™ื•ื ื™
ืžืืคืฉืจ ืชื›ื•ื ื•ืช ืœื ื™ืฆื™ื‘ื•ืช ืžื’ืจืกืื•ืช ืงืจื•ื‘ื•ืช ืฉืœ ื”ืฉืคื”.

ืฉื™ืžื• ืœื‘ ืฉื“ื’ืœ ื–ื” ืžื’ื‘ื™ืœ ืจืง ืืช ืชื›ื•ื ื•ืช ื”ืฉืคื” ื”ื–ืžื™ื ื•ืช ืœ
ืžึฐืชึทื›ื ึตืช. ื ื™ืชืŸ ืœืฉืœื•ื˜ ื‘ื’ืจืกื” ืฉืœ ืžื›ืœื•ืœื™ื ืฉื™ื•ืฆืจื• ื‘ืืžืฆืขื•ืช SDK ืื•ึนืคึผึฐืฆึดื™ึธื”.

-lib:PATHLIST
ื›ืœ ื ืชื™ื‘ ืฉืฆื•ื™ืŸ ื‘ืจืฉื™ืžื” ื”ืžื•ืคืจื“ืช ื‘ืคืกื™ืง ื™ืคื ื” ืืช ื”ืžื”ื“ืจ ืœื—ืคืฉ
ืขื‘ื•ืจ ืกืคืจื™ื•ืช ื‘ื ืชื™ื‘ ืฉืฆื•ื™ืŸ.

-L ื ืชื™ื‘
ืžื ื—ื” ืืช ื”ืžื”ื“ืจ ืœื—ืคืฉ ืกืคืจื™ื•ืช ื‘ื ืชื™ื‘ ืฉืฆื•ื™ืŸ. ืžืกืคืจ ืฉื‘ื™ืœื™ื
ื ื™ืชืŸ ืœืกืคืง ื‘ืืžืฆืขื•ืช ื”ืืคืฉืจื•ืช ืžืกืคืจ ืคืขืžื™ื.

-ืจืืฉื™:CLASS
ืื•ืžืจ ืœืžื”ื“ืจ ืื™ื–ื” CLASS ืžื›ื™ืœ ืืช ื ืงื•ื“ืช ื”ื›ื ื™ืกื”. ืฉื™ืžื•ืฉื™ ื›ืฉืืชื”
ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ืžืกืคืจ ืžื—ืœืงื•ืช ื‘ืฉื™ื˜ืช Main.

-ื ื•ืกื˜ื“ืœื™ื‘, -nostdlib+
ื”ืฉืชืžืฉ ื‘ื“ื’ืœ ื–ื” ืื ืืชื” ืจื•ืฆื” ืœื”ืจื›ื™ื‘ ืืช ืกืคืจื™ื™ืช ื”ืœื™ื‘ื”. ื–ื” ืขื•ืฉื” ืืช ื”ืžื”ื“ืจ
ื˜ืขืŸ ืืช ื”ืกื•ื’ื™ื ื”ืคื ื™ืžื™ื™ื ืฉืœื• ืžื”ื”ืจื›ื‘ื” ื”ื ืขืจื›ื™ื.

-noconfig, -noconfig+
ืžืฉื‘ื™ืช ืืช ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืœื˜ืขื™ื ื”. ื”ืžื”ื“ืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ
ื™ืฉ ื”ืคื ื™ื•ืช ืœืžื›ืœื•ืœื™ ื”ืžืขืจื›ืช.

-nowarn:WARNLIST
ื’ื•ืจื ืœืžื”ื“ืจ ืœื”ืชืขืœื ืžื”ืื–ื”ืจื•ืช ืฉืฆื•ื™ื ื• ื‘ืจืฉื™ืžื” ื”ืžื•ืคืจื“ืช ื‘ืคืกื™ืงื™ื WARNLIST>

- ืœื™ื™ืขืœ, -ืื•ืคื˜ื™ืžื™ื–ืฆื™ื”+, -ืœื™ื™ืขืœ-
ืฉื•ืœื˜ ื‘ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืฉืœ ื™ืฆื™ืจืช ืงื•ื“ ืžื”ื“ืจ ื‘ืงื•ื“. ื‘ืืžืฆืขื•ืช -optimize ืื•
-optimize+ ื™ืคืขื™ืœ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช, -optimize- ื™ื›ื‘ื” ืืช ื–ื”. ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื‘
mcs ื”ื•ื ืœื™ื™ืขืœ-. ื ื™ืชืŸ ืœืขืจื‘ื‘ ืืช ื”ืืคืฉืจื•ืช ืขื -debug ืืš ืœื ื™ืคื•ื™ ื”ื‘ืื’ื™ื ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ
ื ื™ืกื™ื•ืŸ ืžื•ืžืœืฅ ืœื”ืฉืื™ืจ ืืช ื”ืืคืฉืจื•ื™ื•ืช ื›ื‘ื•ื™ื•ืช.

-out:FNAME, -o FNAME
ื ื•ืชืŸ ืฉื ืœืงื•ื‘ืฅ ื”ืคืœื˜ ืฉื™ื™ื•ื•ืฆืจ.

--ืœึฐื ึทืชึตื—ึท
ืžืฉืžืฉ ืœื”ืฉื•ื•ืื”. ื”ืžื”ื“ืจ ื™ื ืชื— ืจืง ืืช ืงื‘ืฆื™ ื”ืงืœื˜ ืฉืœื•.

-pkg:package1[,packageN]
ืžื›ืœื•ืœื™ ื™ื™ื—ื•ืก ืขื‘ื•ืจ ื”ื—ื‘ื™ืœื•ืช ื”ื ืชื•ื ื•ืช.

ื”ืžื”ื“ืจ ื™ืคืขื™ืœ ืืช pkg-config --libs ืขืœ ืงื‘ื•ืฆืช ื”ื—ื‘ื™ืœื•ืช ื”ืžืฆื•ื™ื ืช ื‘-
ืฉื•ืจืช ืคืงื•ื“ื” ืœื”ืฉื’ืช ืกืคืจื™ื•ืช ื•ืกืคืจื™ื•ืช ืœื”ื™ื“ื•ืจ ื”ืงื•ื“.

ื–ื” ืžืฉืžืฉ ื‘ื“ืจืš ื›ืœืœ ืขื ืจื›ื™ื‘ื™ ืฆื“ ืฉืœื™ืฉื™, ื›ืžื• ื–ื”:

$ mcs -pkg:gtk-sharp demo.cs

-pkg:dotnet
ื–ื” ื™ื ื—ื” ืืช ื”ืžื”ื“ืจ ืœื”ืคื ื•ืช ืœืกืคืจื™ื•ืช System.*
ื–ืžื™ืŸ ื‘ื”ืชืงื ื” ื˜ื™ืคื•ืกื™ืช ืฉืœ dotnet framework, ืฉื™ืžื• ืœื‘ ืฉื–ื” ื›ืŸ
ืœื ื›ื•ืœืœ ืืช ื›ืœ ืกืคืจื™ื•ืช ื”ืžื•ื ื•, ืจืง ืืช ืืœื• ืฉืœ System.*. ื–ื”
ืงื™ืฆื•ืจ ื“ืจืš ื ื•ื— ืœืืœื” ื”ืžืขื‘ื™ืจื™ื ืงื•ื“.

-ืคืœื˜ืคื•ืจืžื”:ARCH
ืžืฉืžืฉ ืœืฆื™ื•ืŸ ืคืœื˜ืคื•ืจืžืช ื”ื™ืขื“. ื”ืขืจื›ื™ื ื”ืืคืฉืจื™ื™ื ื”ื: anycpu,
anycpu32bitpreferred, arm, x86, x64 ืื• itanium. ืืคืฉืจื•ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ื™ื anycpu.

-ืžืฉืื‘:ืžืฉืื‘[,ืžื–ื”ื”]
ืžื•ื˜ืžืข ื‘ืงื•ื‘ืฅ ื”ืžืฉืื‘ื™ื ื”ื ืชื•ืŸ. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžื–ื”ื” ื”ืื•ืคืฆื™ื•ื ืœื™ ื›ื“ื™ ืœืชืช ืฉื•ื ื”
ืฉื ืœืžืฉืื‘. ืื ืœื ืฆื•ื™ืŸ, ืฉื ื”ืžืฉืื‘ ื™ื”ื™ื” ืฉื ื”ืงื•ื‘ืฅ.

-linkresource:RESOURCE[,ID]
ืงื™ืฉื•ืจื™ื ืœ-RESOURCE ืฉืฆื•ื™ืŸ. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžื–ื”ื” ื”ืื•ืคืฆื™ื•ื ืœื™ ื›ื“ื™ ืœืชืช ืฉื ืœ-
ืžืฉืื‘ ืžืงื•ืฉืจ.

-r:ASSEMBLY1[,ASSEMBLY2], -ื”ืชื™ื™ื—ืกื•ืช ASSEMBLY1[,ASSEMBLY2]
ืขื™ื™ืŸ ื‘ืžื›ืœื•ืœื™ื ื”ื ืงื•ื‘ื™ื ื‘ืฉืžื•ืช. ื”ืฉืชืžืฉ ื‘ื–ื” ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ืžื—ืœืงื•ืช ืžื”ืืกื™ืคื” ื‘ืขืœืช ื”ืฉื ื‘
ื”ืชื•ื›ื ื™ืช ืฉืœืš. ื”ื”ืจื›ื‘ื” ืชื™ื˜ืขืŸ ืžืกืคืจื™ื™ืช ื”ืžืขืจื›ืช ืฉื‘ื”
ื›ืœ ื”ืžื›ืœื•ืœื™ื ื—ื™ื™ื, ืื• ืžื”ื ืชื™ื‘ ืฉื ื™ืชืŸ ื‘ืžืคื•ืจืฉ ืขื ืืคืฉืจื•ืช -L.

ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ืฉืชืžืฉ ื‘ื ืงื•ื“ื”-ืคืกื™ืง ื›ื“ื™ ืœื”ืคืจื™ื“ ื‘ื™ืŸ ื”ืžื›ืœื•ืœื™ื ื‘ืžืงื•ื ื‘ืคืกื™ืง.

-reference:ALIAS=ASSEMBLY
ืชืžื™ื›ื” ื‘ื›ื™ื ื•ื™ื™ื ื—ื™ืฆื•ื ื™ื™ื ืขื‘ื•ืจ C#.

ืื ื™ืฉ ืœืš ืžื›ืœื•ืœื™ื ืฉื•ื ื™ื ื”ืžืกืคืงื™ื ืืช ืื•ืชื ืกื•ื’ื™ื, ื”ื›ื™ื ื•ื™ ื”ื—ื™ืฆื•ื ื™
ื”ืชืžื™ื›ื” ืžืืคืฉืจืช ืœืš ืœืกืคืง ืฉืžื•ืช ืฉื”ืชื•ื›ื ื” ืฉืœืš ื™ื›ื•ืœื” ืœื”ืฉืชืžืฉ ื‘ื”ื ื›ื“ื™ ืœืกืคืจ ืื•ืชื
ื“ื™ืจื”. ื”ืกื•ื’ื™ื ืž- ASSEMBLY ื™ื—ืฉืคื• ื›-ALIAS, ื•ืœืื—ืจ ืžื›ืŸ ื‘ืžืงื•ืจ C#
ืงื•ื“, ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช:

ื›ื™ื ื•ื™ ื—ื™ืฆื•ื ื™ alias;
ื›ื“ื™ ืœื”ื›ื ื™ืก ืื•ืชื• ืœืžืจื—ื‘ ื”ืฉืžื•ืช ืฉืœืš. ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœื”ืชืžื•ื“ื“ ืขื ืฉืชื™ ืกืคืจื™ื•ืช ื’ืจืคื™ืงื”
ืฉืžื’ื“ื™ืจื™ื "Graphics.Point", ืื—ื“ ื‘-"OpenGL.dll" ื•ืื—ื“ ื‘-"Postscript.dll", ืืชื”
ื™ืคืขื™ืœ ืืช ื”ืžื”ื“ืจ ื›ืš:

mcs -r:Postscript=Postscript.dll -r:OpenGL=OpenGL.dll

ื•ื‘ืงื•ื“ ื”ืžืงื•ืจ ืฉืœืš, ื”ื™ื™ืช ื›ื•ืชื‘:

ื›ื™ื ื•ื™ ื—ื™ืฆื•ื ื™ Postscript;
ื›ื™ื ื•ื™ ื—ื™ืฆื•ื ื™ OpenGL;

ืžื—ืœืงื” X {
// ื–ื•ื”ื™ Graphics.Point ืž-Postscrip.dll
Postscript.Point p = new Postscript.Point ();

// ื–ื•ื”ื™ Graphics.Point ืž-OpenGL.dll
OpenGL.Point p = ื—ื“ืฉ OpenGL.Point ();
}

-recurse:PATTERN, --ืฉื—ื–ื•ืจ ืชึทื‘ึฐื ึดื™ืช
ืžื‘ืฆืข ืงื•ืžืคื™ืœืฆื™ื” ืจืงื•ืจืกื™ื‘ื™ืช ื‘ืืžืฆืขื•ืช ื”ื“ืคื•ืก ืฉืฆื•ื™ืŸ. ื‘ื™ื•ื ื™ืงืก ื”ืงืœื™ืคื” ืชื”ื™ื”
ื‘ืฆืข globbing, ืื– ืื•ืœื™ ืชืจืฆื” ืœื”ืฉืชืžืฉ ื‘ื• ื›ืš:

$ mcs -recurse:'*.cs'

-sdk:ื’ืจืกื”
ืžืฉืžืฉ ืœืฆื™ื•ืŸ ื”ื’ืจืกื” ืฉืœ ื”ืจื›ื‘ื•ืช Base Class Library ื”ืžืฉืžืฉื•ืช ืœื”ื™ื“ื•ืจ.
ื”ืขืจื›ื™ื ื”ื‘ืื™ื ืฉื”ื•ื’ื“ืจื• ืžืจืืฉ ืชืงืคื™ื: 2, 4 (ื‘ืจื™ืจืช ืžื—ื“ืœ) ื•ื›ืŸ ื›ืœ ืขืจืš ืžื•ืชืื ืื™ืฉื™ืช.
ืžืกืคืจ ื”ื’ืจืกื” ื”ืžื•ื’ื“ืจ ืžืจืืฉ ืื•ืžืจ ืœืื™ื–ื” ืขืจืš ืžื•ืชืื ืื™ืฉื™ืช ืฆื•ื™ืŸ mcs ื™ื ืกื”
ืžืฆื ืกืคืจื™ื•ืช ื›ื™ืชื•ืช ื‘ืกื™ืก ื‘ืžื™ืงื•ื ื”ืžื•ืชืงืŸ ืžื•ื ื• PREFIX/lib/mono/ .

-
ืžืคืขื™ืœ ืืช ื”ืžื”ื“ืจ ื‘ืžืฆื‘ ืื™ื ื˜ืจืืงื˜ื™ื‘ื™, ืžืกืคืง ืžืขื˜ืคืช C# ืœื”ืฆื”ืจื•ืช ื•
ื‘ื™ื˜ื•ื™ื™ื. ืงื™ืฆื•ืจ ื“ืจืš ื”ื•ื ืœื”ืฉืชืžืฉ ื‘- ืฆืืจืค ืคืงื•ื“ื” ื™ืฉื™ืจื•ืช.

--stacktrace
ื™ื•ืฆืจ ืขืงื‘ื•ืช ืžื—ืกื ื™ืช ื‘ื–ืžืŸ ื“ื™ื•ื•ื— ื”ืฉื’ื™ืื”, ืฉื™ืžื•ืฉื™ ืœืื™ืชื•ืจ ื‘ืื’ื™ื ืฉืœ
ืžื”ื“ืจ.

-ื™ืขื“:KIND, -ื˜: ื—ื‘ื™ื‘
ืžืฉืžืฉ ืœืฆื™ื•ืŸ ื”ื™ืขื“ ื”ืจืฆื•ื™. ื”ืขืจื›ื™ื ื”ืืคืฉืจื™ื™ื ื”ื: exe (ืจื’ื™ืœ
ืงื•ื‘ืฅ ื”ืคืขืœื”), winexe (ืงื•ื‘ืฅ ื”ืคืขืœื” ืฉืœ Windows.Forms), ืกืคืจื™ื™ื” (ืกืคืจื™ื•ืช ืจื›ื™ื‘ื™ื) ื•
ืžื•ื“ื•ืœ (ืกืคืจื™ื™ื” ื—ืœืงื™ืช).

--ื—ื•ืชืžืช ื–ืžืŸ
ืขื•ื“ ื“ื’ืœ ื ื™ืคื•ื™ ื‘ืื’ื™ื. ืžืฉืžืฉ ืœื”ืฆื’ืช ื”ื–ืžื ื™ื ื‘ื ืงื•ื“ื•ืช ืฉื•ื ื•ืช ื‘
ืชื”ืœื™ืš ื”ื™ื“ื•ืจ.

-ืžึฐืกื•ึผื›ึผึธืŸ, -ืœื ื‘ื˜ื•ื—+
ืžืืคืฉืจ ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ืงื•ื“ ืœื ื‘ื˜ื•ื—.

-v ืื™ืชื•ืจ ื‘ืื’ื™ื. ืžืคืขื™ืœ ื ื™ืชื•ื— yacc ืžื™ืœื•ืœื™.

--ื’ึดืจึฐืกึธื”
ืžืฆื™ื’ ืืช ื’ืจืกืช ื”ืžื”ื“ืจ.

-warnaserror, -warnaserror+
ื›ืœ ืื–ื”ืจื•ืช ื”ืžื”ื“ืจื™ื ื™ื“ื•ื•ื—ื• ื›ืฉื’ื™ืื•ืช.

-warnaserror:W1,[Wn], -warnaserror+:W1,[Wn]
ืžืชื™ื™ื—ืก ืœืื–ื”ืจืช ืงื•ืžืคื™ื™ืœืจ ืื—ืช ืื• ื™ื•ืชืจ ื›ืฉื’ื™ืื•ืช.

-warnaserror-:W1,[Wn]
ืžื’ื“ื™ืจ ืื–ื”ืจืช ืžื”ื“ืจ ืื—ืช ืื• ื™ื•ืชืจ ืœื”ื™ื•ืช ืžืื•ื™ืžืช ืชืžื™ื“ ื‘ืชื•ืจ ืื–ื”ืจื•ืช. ื”ื•ืคืš
ืฉื™ืžื•ืฉื™ ื‘ืฉื™ืžื•ืฉ ื™ื—ื“ ืขื -warnaserror.

ืื–ื”ืจื”: LEVEL
ืžื’ื“ื™ืจ ืืช ืจืžืช ื”ืื–ื”ืจื”. 0 ื”ื™ื ืจืžืช ื”ืื–ื”ืจื” ื”ื ืžื•ื›ื” ื‘ื™ื•ืชืจ, ื•-4 ื”ื™ื ื”ื’ื‘ื•ื”ื” ื‘ื™ื•ืชืจ. ื”
ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ื™ื 4.

-win32res:FILE
ืžืฆื™ื™ืŸ ืงื•ื‘ืฅ ืžืฉืื‘ Win32 (.res) ืฉื™ืฉ ืœืื’ื“ ื‘ืžื›ืœื•ืœ ื”ืžืชืงื‘ืœ.

-win32icon:FILE
ืžืฆืจืฃ ืืช ื”ืกืžืœ ืฉืฆื•ื™ืŸ ื‘-FILE ืขืœ ื”ืคืœื˜ ืœืชื•ืš ื”ืžื›ืœื•ืœ ื”ืžืชืงื‘ืœ.

-- ื”ืฉืชืžืฉ ื‘ื–ื” ื›ื“ื™ ืœืขืฆื•ืจ ืืช ื ื™ืชื•ื— ื”ืืคืฉืจื•ื™ื•ืช, ื•ืœืืคืฉืจ ื”ืขื‘ืจืช ืคืจืžื˜ืจื™ื ื”ืžื—ืคืฉื™ื ืื•ืคืฆื™ื•ืช
ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื”.

ื–ื™ื•ื•ื“ ื• ืกืคืจื™ื•ืช


ื›ืืฉืจ ืžืคื ื™ื ืœืžื›ืœื•ืœ, ืื ืฉื ื”ืžื›ืœื•ืœ ื”ื•ื ื ืชื™ื‘, ื”ืžื”ื“ืจ ื™ื ืกื”
ื›ื“ื™ ืœื˜ืขื•ืŸ ืืช ื”ืžื›ืœื•ืœ ืฉืฆื•ื™ืŸ ื‘ื ืชื™ื‘. ืื ืœื, ื”ืžื”ื“ืจ ื™ื ืกื”
ื˜ืขื™ื ืช ื”-assembly ืžื”ืกืคืจื™ื™ื” ื”ื ื•ื›ื—ื™ืช, ืกืคืจื™ื™ืช ื”ื‘ืกื™ืก ืฉืœ ื”ืžื”ื“ืจ ื•ืื ื”-
assembly ืœื ื ืžืฆื ื‘ืืฃ ืื—ื“ ืžืื•ืชื ืžืงื•ืžื•ืช ื‘ืกืคืจื™ื•ืช ืฉืฆื•ื™ื ื• ื›ื˜ื™ืขื•ื ื™ื ืœ
ืืจื’ื•ืžื ื˜ ื”ืคืงื•ื“ื” -lib:.

ื”ืžื”ื“ืจ ืžืฉืชืžืฉ ื‘ื ืชื™ื‘ ื”ืกืคืจื™ื™ื” ื›ื“ื™ ืœืืชืจ ืกืคืจื™ื•ืช, ื•ื”ื•ื ืžืกื•ื’ืœ ืœื”ืคื ื•ืช ืœืกืคืจื™ื•ืช
ืžื—ื‘ื™ืœื” ืžืกื•ื™ืžืช ืื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืกืคืจื™ื™ื” ื–ื•. ื›ื“ื™ ืœืคืฉื˜ ืืช ื”ืฉื™ืžื•ืฉ ื‘ื—ื‘ื™ืœื•ืช, ื”
ืžื”ื“ืจ C# ื›ื•ืœืœ ืืช ืืคืฉืจื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” -pkg: ื”ืžืฉืžืฉืช ืœื˜ืขื™ื ื” ืกืคืฆื™ืคื™ืช
ืื•ืกืคื™ ืกืคืจื™ื•ืช.

ืกืคืจื™ื•ืช ื”ื ืจืื•ืช ืœืงื•ืžืคื™ื™ืœืจ ืžืื•ื—ืกื ื•ืช ื‘ื™ื—ืก ืœืงื™ื“ื•ืžืช ื”ื”ืชืงื ื” ืชื—ืช
PREFIX/lib/mono/ ื ืงืจื PACKAGEBASE ื•ื‘ืจื™ืจื•ืช ื”ืžื—ื“ืœ ืขื‘ื•ืจ mcs, gmcs ื•- smcs ื”ืŸ ื›ืžื•
ื”ืชืขื•ืคื”

Mcs ืžืคื ื” ืœืกืคืจื™ื™ืช PACKAGEBASE/1.0

gmcs ืžืคื ื” ืœืกืคืจื™ื™ืช PACKAGEBASE/2.0

smcs ืžืคื ื” ืœืกืคืจื™ื™ืช PACKAGEBASE/2.1

ืืœื• ืคืจื•ืคื™ืœื™ ื–ืžืŸ ื”ืจื™ืฆื” ื”ื™ื—ื™ื“ื™ื ืฉืงื™ื™ืžื™ื. ืœืžืจื•ืช ืฉืงื™ื™ืžื•ืช ืกืคืจื™ื•ืช ืื—ืจื•ืช (ื›ืžื•
3.0 ื•-3.5) ืืœื• ืœื ื‘ืืžืช ืคืจื•ืคื™ืœื™ ื–ืžืŸ ืจื™ืฆื”, ื”ื ืจืง ืžืฆื™ื™ื ื™ ืžื™ืงื•ื ืœืชื•ืกืคืช
ืกืคืจื™ื•ืช ืฉื ื‘ื ื•ืช ืขืœ ื‘ืกื™ืก 2.0.

ืกืคืงื™ ืชื•ื›ื ื” ื™ืคื™ืฆื• ืชื•ื›ื ื” ืฉืžื•ืชืงื ืช ื‘ื™ื—ืก ืœ-PACKAGEBASE
ืžึทื“ืจึดื™ืš. ื–ื” ืžืฉื•ืœื‘ ื‘- ื’ืืงื•ื˜ื™ืœ ื›ืœื™ ืฉืœื ืจืง ืžืชืงื™ืŸ ืฆื™ื‘ื•ืจื™
ื”ืจื›ื‘ื•ืช ืœ-Global Assembly Cache (GAC) ืืš ื’ื ืžืชืงื™ืŸ ืื•ืชื ื‘-
ืกืคืจื™ื™ืช PACKAGEBASE/PKG (ื›ืืฉืจ PKG ื”ื•ื ื”ืฉื ื”ืžื•ืขื‘ืจ ืœื“ื’ืœ -package ืœ-gacutil).

ื›ืžืคืชื—, ืื ืืชื” ืจื•ืฆื” ืœืฆืจื•ืš ืืช ืกืคืจื™ื•ืช Gtk#, ืชืคืขื™ืœ ืืช ื”ืžื”ื“ืจ
ื›ื›ื”:

$ mcs -pkg:gtk-sharp-2.0 main.cs

ื”ืืคืฉืจื•ืช -pkg: ืžื•ืจื” ืœืžื”ื“ืจ ืœื”ื‘ื™ื ืืช ื”ื”ื’ื“ืจื•ืช ืขื‘ื•ืจ gtk-sharp-2.0 ืž-
pkg-config, ื–ื” ืฉื•ื•ื” ืขืจืš ืœื”ืขื‘ืจืช ืœืงื•ืžืคื™ื™ืœืจ C# ืืช ื”ืคืœื˜ ืฉืœ:

$ pkg-config --libs gtk-sharp-2.0

ื‘ื“ืจืš ื›ืœืœ ื–ื” ืจืง ืžืชื™ื™ื—ืก ืœืกืคืจื™ื•ืช ืž-PACKAGEBASE/PKG.

ืœืžืจื•ืช ืฉื™ืฉ ืฉืžื•ืช ืกืคืจื™ื•ืช ืขื‘ื•ืจ 3.0 ื•-3.5, ื–ื” ืœื ืื•ืžืจ ืฉื™ืฉ 3.0
ื•-3.5 ืžื”ื“ื•ืจื•ืช ืžื”ื“ืจ ืื• ืคืจื•ืคื™ืœื™ื. ืืœื” ืจืง ืกืคืจื™ื•ืช ื—ื“ืฉื•ืช ืฉื—ื™ื™ื‘ื•ืช ืœื”ื™ื•ืช
ื”ืคื ื™ื” ื™ื“ื ื™ืช ืขื ื”ืคืงืช -pkg: ื”ื ื›ื•ื ื”, ืื• ืขืœ ื™ื“ื™ ื”ืคื ื™ื” ืฉืœ
ืกืคืจื™ื•ืช ื™ืฉื™ืจื•ืช.

ืžื™ื•ื—ื“ ืžื’ื“ื™ืจ


ืืœ ื”ืื ื™ TRACE ื• DEBUG ืœ-defines ื™ืฉ ืžืฉืžืขื•ืช ืžื™ื•ื—ื“ืช ืœืžื”ื“ืจ.

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืงืจื™ืื•ืช ืœืฉื™ื˜ื•ืช ื•ืžืืคื™ื™ื ื™ื ื‘ืžื—ืœืงื” System.Diagnostics.Trace ืื™ื ืŸ
ื ื•ืฆืจ ืืœื ืื ื›ืŸ ื”ืกืžืœ TRACE ืžื•ื’ื“ืจ (ื‘ืืžืฆืขื•ืช "#define TRACE") ื‘ืงื•ื‘ืฅ ืฉืœืš
ืงื•ื“ ื”ืžืงื•ืจ, ืื• ื‘ืืžืฆืขื•ืช ื”- --ืœึฐื”ึทื’ื“ึดื™ืจ TRACE ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื”.

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืงืจื™ืื•ืช ืœืฉื™ื˜ื•ืช ื•ืžืืคื™ื™ื ื™ื ื‘ืžื—ืœืงื” System.Diagnostics.Debug ืื™ื ืŸ
ื ื•ืฆืจ ืืœื ืื ื›ืŸ ืกืžืœ DEBUG ืžื•ื’ื“ืจ (ืื• ื‘ืืžืฆืขื•ืช "#define DEBUG") ื‘-
ืงื•ื“ ื”ืžืงื•ืจ, ืื• ื‘ืืžืฆืขื•ืช ื”- --ืœึฐื”ึทื’ื“ึดื™ืจ DEBUG ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื”.

ืฉื™ืžื• ืœื‘ ืฉื”ื”ืฉืคืขื” ืฉืœ ื”ื’ื“ืจืช TRACE ื•-DEBUG ื”ื™ื ื”ื’ื“ืจื” ื’ืœื•ื‘ืœื™ืช, ื’ื ืื ื›ืŸ
ืžื•ื’ื“ืจ ืจืง ื‘ืงื•ื‘ืฅ ื‘ื•ื“ื“.

ืคื™ืชืจื•ืŸ ืชืžื™ื›ื”


ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื“ื’ืœ "-debug", MCS ื™ืคื™ืง ืงื•ื‘ืฅ ืขื ื”ืกื™ื•ืžืช .mdb that
ืžื›ื™ืœ ืืช ืžื™ื“ืข ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื ืขื‘ื•ืจ ื”ืžื›ืœื•ืœ ืฉื ื•ืฆืจ. ืงื•ื‘ืฅ ื–ื” ื ืฆืจืš ืขืœ ื™ื“ื™
ืžืืชืจ ื‘ืื’ื™ื ืžื•ื ื• (mdb).

ื”ืกื‘ื™ื‘ื” ื•ืจื™ืืฆื™ื•ืช


MCS_COLORS
ืื ืžืฉืชื ื” ื–ื” ืžื•ื’ื“ืจ, ื”ื•ื ืžื›ื™ืœ ืžื—ืจื•ื–ืช ื‘ืฆื•ืจื” "ื—ื–ื™ืช, ืจืงืข"
ืฉืžืฆื™ื™ืŸ ื‘ืื™ื–ื” ืฆื‘ืข ืœื”ืฉืชืžืฉ ื›ื“ื™ ืœื”ืฆื™ื’ ืฉื’ื™ืื•ืช ื‘ืžืกื•ืคื™ื ืžืกื•ื™ืžื™ื.

ื”ืจืงืข ื”ื•ื ืื•ืคืฆื™ื•ื ืœื™ ื•ื”ื•ื ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืœืจืงืข ื”ื ื•ื›ื—ื™ ืฉืœ ื”ื˜ืจืžื™ื ืœ ืฉืœืš. ื”
ืฆื‘ืขื™ื ืืคืฉืจื™ื™ื ืœื—ื–ื™ืช ื”ื: ืฉื—ื•ืจ, ืื“ื•ื, ืื“ื•ื ื‘ื”ื™ืจ, ื™ืจื•ืง, ื™ืจื•ืง ื‘ื”ื™ืจ,
ืฆื”ื•ื‘, ืฆื”ื•ื‘ ื‘ื•ื”ืง, ื›ื—ื•ืœ, ื›ื—ื•ืœ ื‘ื”ื™ืจ, ืžื’ื ื˜ื”, ื‘ื”ื™ืจ ืžื’ื ื˜ื”, ืฆื™ืืŸ, ืฆื™ืืŸ ื‘ื”ื™ืจ,
ืืคื•ืจ, ืœื‘ืŸ ื•ืœื‘ืŸ ื‘ื”ื™ืจ.

ื”ืฆื‘ืขื™ื ื”ืืคืฉืจื™ื™ื ืœืจืงืข ื”ื: ืฉื—ื•ืจ, ืื“ื•ื, ื™ืจื•ืง, ืฆื”ื•ื‘, ื›ื—ื•ืœ, ืžื’ื ื˜ื”,
ืฆื™ืืŸ, ืืคื•ืจ ื•ืœื‘ืŸ.

ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ื”ืžืฉืชื ื™ื ื”ืืœื” ืžื”ืžืขื˜ืคืช ืฉืœืš:
ื™ื™ืฆื MCS_COLORS
MCS_COLORS=ืฉื’ื™ืื•ืช=ืœื‘ืŸ ื‘ื”ื™ืจ,ืื“ื•ื

ืืชื” ื™ื›ื•ืœ ืœื”ืฉื‘ื™ืช ืืช ืขืจื›ืช ื”ืฆื‘ืขื™ื ื”ืžื•ื‘ื ื™ืช ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ืžืฉืชื ื” ื–ื” ืœ"ื ื˜ืจื•ืœ".

ืื•ืจื™ื


ื‘ืžื”ืœืš ื”ื”ื™ื“ื•ืจ, ืžื”ื“ืจ MCS ืžื’ื“ื™ืจ ืืช ื”ืกืžืœ __MonoCS__, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืขืœ ื™ื“ื™
ื”ื•ืจืื•ืช ืงื“ื-ืžืขื‘ื“ ืœื”ื“ืจ ืงื•ื“ ืกืคืฆื™ืคื™ ืฉืœ Mono C#. ืฉื™ื ืœื‘ ืฉ
ืกืžืœ ื–ื” ืžื™ื•ืขื“ ืจืง ืœื‘ื“ื™ืงืช ื”ืžื”ื“ืจ, ื•ืื™ื ื• ืฉื™ืžื•ืฉื™ ืœื”ื‘ื—ื™ืŸ ื‘ื”ื™ื“ื•ืจ
ืื• ืคืœื˜ืคื•ืจืžื•ืช ืคืจื™ืกื”.

ืžื—ื‘ืจื™ื


ื”ืžื”ื“ืจ ืฉืœ Mono C# ื ื›ืชื‘ ืขืœ ื™ื“ื™ ืžื™ื’ืœ ื“ื” ืื™ืงืื–ื”, ืจืื•ื•ื™ ืคืจืื˜ืืค, ืžืจื˜ื™ืŸ ื‘ืื•ืœื™ื’, ืžืจืง
ืกืืคืืจ ื•ืจืื’'ื” ื”ืจื™ื ืืช. ื”ืคื™ืชื•ื— ืžื•ืžืŸ ืขืœ ื™ื“ื™ Ximian, Novell ื•-Marek Safar.

ื”ืฉืชืžืฉ ื‘-dmcs ื‘ืื•ืคืŸ ืžืงื•ื•ืŸ ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืชื™ onworks.net


ืฉืจืชื™ื ื•ืชื—ื ื•ืช ืขื‘ื•ื“ื” ื‘ื—ื™ื ื

ื”ื•ืจื“ ืืคืœื™ืงืฆื™ื•ืช Windows & Linux

ืคืงื•ื“ื•ืช ืœื™ื ื•ืงืก

Ad