ืืืื ืืคืงืืื 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