Jest to polecenie dmcs, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
mcs — kompilator mono C#
STRESZCZENIE
McS [opcja] [pliki-źródłowe]
OPIS
mcs to kompilator Mono C#, implementacja specyfikacji języka ECMA-334.
Możesz przekazać jedną lub więcej opcji do sterowania kompilatorem oraz zestaw plików źródłowych. Dodatkowy
opcje lub argumenty mogą być dostarczone w pliku odpowiedzi. Pliki odpowiedzi są przywoływane przez
poprzedzony symbolem @ przed nazwą pliku odpowiedzi.
Połączenia McS kompilator służy do kompilacji z najnowszą wersją biblioteki Mono Base Class Library i
w pełni implementuje specyfikacje C# 1.0, 2.0, 3.0 i 4.0.
Zobacz sekcję o pakietach, aby uzyskać więcej informacji.
Kompilator Mono C# akceptuje te same opcje wiersza polecenia, co kompilator Microsoft C#
czy. Te opcje mogą zaczynać się od ukośnika lub myślnika (/checked to to samo co -checked).
Dodatkowo obsługiwane są niektóre opcje podobne do GNU, te zaczynają się od "--". Wszystkie specyficzne dla MCS
flagi, które nie są dostępne w kompilatorze Microsoft C#, są dostępne tylko z
Opcje w stylu GNU.
Pliki źródłowe C# muszą kończyć się rozszerzeniem „.cs”. Kompilacja kodu źródłowego C# wymaga
wszystkie pliki, które składają się na bibliotekę, moduł lub plik wykonywalny, które mają być dostarczone w poleceniu
linia. Nie ma obsługi częściowej kompilacji. Aby osiągnąć korzyści częściowe
kompilacja, należy skompilować programy do własnych zestawów, a później odwołać się
je z flagą "-r".
Kompilator Mono C# generuje obrazy (pliki .exe), które zawierają kod bajtowy CIL, który może być
wykonywane przez dowolny system, który implementuje maszynę wirtualną Common Language Infrastructure
takie jak silnik wykonawczy Microsoft .NET w systemie Windows lub silnik wykonawczy Mono w systemie Unix
systemy. Pliki wykonywalne nie są powiązane z konkretnym procesorem ani systemem operacyjnym.
Kompilator Mono C# domyślnie odwołuje się tylko do trzech zestawów: mscorlib.dll, System.dll
i System.Xml.dll. Jeśli chcesz odwoływać się do dodatkowych bibliotek, musisz ręcznie określić
za pomocą opcji -pkg: wiersza poleceń lub opcji -r: wiersza poleceń. Alternatywnie, jeśli
chcesz pobrać wszystkie biblioteki systemowe, możesz użyć wiersza poleceń -pkg:dotnet
opcja.
OPCJE
--o
Wyświetla informacje o kompilatorze Mono C#
--addmodule:MODUŁ1[,MODUŁ2]
Dołącza określone moduły do wynikowego zestawu. Moduły są tworzone przez
wywołanie kompilatora z opcją -target:module
-sprawdzone, -zaznaczone+
Ustawia domyślny tryb kompilacji na `sprawdzony'. To sprawia, że wszystkie operacje matematyczne
zaznaczone (domyślnie nie jest zaznaczone).
-sprawdzone-
Ustawia domyślny tryb kompilacji na `niezaznaczony'. To sprawia, że cała matematyka
operacje odznaczone (jest to ustawienie domyślne).
-clscheck-, -clscheck+
Wyłącza lub włącza testy Common Language Specification (CLS) (jest włączone)
domyślnie).
Common Language Specification (CLS) definiuje interoperacyjny podzbiór typów jako
oraz konwencje, których muszą przestrzegać kompilatory (producenci CLS) i programiści, aby
udostępniać kod innym językom programowania (konsumenci CLS).
- strona kodowa: ID
Określa stronę kodową używaną do przetwarzania plików wejściowych od momentu, w którym się znajduje
określone w dniu. Domyślnie pliki będą przetwarzane w środowisku zależnym
natywna strona kodowa. Kompilator automatycznie wykryje również pliki Unicode, które:
mają na początku osadzony znak bajtu.
Inne popularne kodowania to 28591 (Latin1), 1252 (iso-8859-1) i 65001 (UTF-8).
MCS obsługuje kilka skrótów: "utf8" może być użyty do określenia utf-8 zamiast
użycie cryptic 65001 i „reset” przywraca automatyczną obsługę stron kodowych.
Te skróty nie są dostępne w kompilatorze firmy Microsoft.
-definiuj:SYMLISTA, -d:LISTA SYMBOLI
Definiuje symbol wymieniony w postaci listy rozdzielanej średnikami SYMLIST SYMBOL. Ten
mogą być testowane w kodzie źródłowym przez preprocesor lub mogą być używane metodami
które zostały oznaczone atrybutem Warunkowe.
-odpluskwić, -debugowanie+
Generuj informacje debugowania. Aby uzyskać ślady stosu z informacjami debugowania,
musisz wywołać środowisko uruchomieniowe mono z flagą `--debug'. Debugowanie
informacje są przechowywane w pliku MDB znajdującym się w tym samym folderze wyjściowym, co wyprodukowano
montaż.
-odpluskwić-
Nie generuj informacji debugowania.
-opóźnienie+
Osadź tylko klucz publiczny strongname w zestawie. Rzeczywiste podpisanie musi być:
zrobić na późniejszym etapie za pomocą narzędzia SN. Jest to przydatne do ochrony klucza prywatnego
podczas opracowywania. Pamiętaj, że podpisywanie opóźnienia można wykonać tylko przy użyciu klucza o silnej nazwie
plik (nie kontener kluczy). Opcja jest równoważna z włączeniem [zespół:
AssemblyDelaySign (true)] w kodzie źródłowym. Opcja kompilatora ma pierwszeństwo
nad atrybutami.
-opóźnienie-
Domyślny. Silna nazwa (podpisz) zestaw używając pliku klucza silnej nazwy (lub
pojemnik). Opcja jest równoważna z włączeniem [assembly: AssemblyDelaySign
(fałsz)] w kodzie źródłowym. Opcja kompilatora ma pierwszeństwo przed atrybutami.
-doc:PLIK
Wyodrębnia dokumentację C#/XML z kodu źródłowego i przechowuje w podanym
PLIK.
-błędny raport
Ta flaga jest ignorowana przez kompilator C# Mono i jest obecna tylko po to, aby umożliwić MCS
używany jako zamiennik CSC dla msbuild/xbuild.
--fatalny
Służy do debugowania kompilatora. Powoduje to, że emisja błędu generuje
wyjątek, który może zostać przechwycony przez debuger.
-wyrównanie pliku
Ta flaga jest ignorowana przez kompilator C# Mono i jest obecna tylko po to, aby umożliwić MCS
używany jako zamiennik CSC dla msbuild/xbuild.
-pełne ścieżki
Każdy błąd kodu źródłowego lub ostrzeżenie wydane przez kompilator zawiera nazwę pliku tylko przez
domyślny. Ta opcja powoduje, że kompilator zamiast tego wydaje bezwzględną ścieżkę do pliku.
- plik klucza: PLIK KLUCZA
Strongname (podpisz) zestaw wyjściowy przy użyciu pary kluczy obecnej w określonym
plik klucza o silnej nazwie (snk). Pełna para kluczy jest wymagana domyślnie (lub podczas używania
znak zwłoki-). Plik zawierający tylko klucz publiczny może być używany z delaysign+. ten
opcja jest równoważna z dołączeniem [assembly: AssemblyKeyFile ("KEYFILE")] do twojego
kod źródłowy. Opcja kompilatora ma pierwszeństwo przed atrybutami.
- pojemnik na klucze: KONTENER
Strongname (podpisz) zestaw wyjściowy przy użyciu pary kluczy obecnej w określonym
pojemnik. Pamiętaj, że podczas korzystania z kontenerów na klucze jest ignorowany znak opóźnienia +. Opcja to
równoważne do włączenia [assembly: AssemblyKeyName ("CONTAINER")] w twoim źródle
kod. Opcja kompilatora ma pierwszeństwo przed atrybutami.
-język: TEKST
Opcja określa wersję używanego języka. Zestaw funkcji to
różne w każdej wersji C#. Ten przełącznik może być użyty do wymuszenia na kompilatorze
zezwalaj tylko na podzbiór funkcji. Możliwe wartości to:
Domyślnie
Poinstruuj kompilator, aby używał najnowszej wersji. Równoważne jest pominięcie
przełącznik (obecnie jest to domyślna specyfikacja języka C# 4.0).
ISO-1 Ogranicz kompilator do używania tylko pierwszych standardowych funkcji ISO. Wykorzystanie
cechy takie jak generyki, klasy statyczne, metody anonimowe doprowadzą do
Błąd.
ISO-2 Ogranicz kompilator do używania tylko drugich standardowych funkcji ISO. Ten
umożliwia korzystanie z generyków, klas statycznych, iteratorów i metod anonimowych
na przykład.
3 Ogranicz kompilator do używania tylko funkcji dostępnych w C# 3.0 (a
nadzbiór ISO-1 i ISO-2).
4 Ogranicz kompilator do używania tylko funkcji dostępnych w C# 4.0
specyfikacja.
eksperymentalny
Włącza niestabilne funkcje z nadchodzących wersji języka.
Zauważ, że ta flaga ogranicza tylko funkcje językowe dostępne dla
programista. Wersję produkowanych zespołów można kontrolować za pomocą SDK opcja.
-lib:LISTA ŚCIEŻEK
Każda ścieżka określona na liście oddzielonej przecinkami pokieruje kompilatorem, aby szukał
dla bibliotek w tej określonej ścieżce.
-L PATH
Nakazuje kompilatorowi wyszukanie bibliotek w określonej ścieżce. Wiele ścieżek
można podać, korzystając z tej opcji wielokrotnie.
-główna: KLASA
Informuje kompilator, która KLASA zawiera punkt wejścia. Przydatne, gdy jesteś
kompilowanie kilku klas metodą Main.
-nostdlib, -nostdlib+
Użyj tej flagi, jeśli chcesz skompilować podstawową bibliotekę. To sprawia, że kompilator
załaduj jego wewnętrzne typy z kompilowanego zestawu.
-nokonfiguracja, -nokonfiguracja+
Wyłącza domyślną konfigurację kompilatora do załadowania. Kompilator domyślnie
zawiera odniesienia do zestawów systemowych.
-nowarn:LISTA OSTRZEŻEŃ
Sprawia, że kompilator ignoruje ostrzeżenia określone na liście oddzielonej przecinkami WARNLIST>
-optymalizować, -optymalizuj+, -optymalizować-
Steruje optymalizacją generowania kodu kompilatora w kodzie. Używając -optymalizuj lub
-optimize+ włącza optymalizacje, -optimize- wyłącza je. Domyślnie w
mcs jest optymalizacja-. Opcję można mieszać z -debug, ale dla najlepszego debugowania
doświadczenie, zaleca się pozostawienie opcji wyłączonych.
-wyjście:FNAME, -o NAZWA
Nazywa plik wyjściowy, który ma zostać wygenerowany.
--analizować
Używany do analizy porównawczej. Kompilator przeanalizuje tylko swoje pliki wejściowe.
-pkg:pakiet1[,pakietN]
Zespoły referencyjne dla podanych pakietów.
Kompilator wywoła pkg-config --libs na zestawie pakietów określonym w
wiersza poleceń, aby uzyskać biblioteki i katalogi do skompilowania kodu.
Jest to zwykle używane z komponentami stron trzecich, takimi jak:
$ mcs -pkg:gtk-sharp demo.cs
-pakiet: dotnet
To poinstruuje kompilator, aby odwoływał się do bibliotek System.*
dostępne w typowej instalacji dotnet framework, zauważ, że to nie
nie obejmują wszystkich bibliotek Mono, tylko te System.*. To jest
wygodny skrót dla tych przenoszących kod.
-platforma:ARCH
Służy do określenia platformy docelowej. Możliwe wartości to: anycpu,
anycpu32bitpreferred, ramię, x86, x64 lub itanium. Domyślną opcją jest anycpu.
-zasób:ZASÓB[,ID]
Osadza w podanym pliku zasobów. Opcjonalny identyfikator może być użyty do nadania innego
nazwę zasobu. Jeśli nie zostanie określony, nazwą zasobu będzie nazwa pliku.
-linkresource:ZASOBY[,ID]
Linki do określonego zasobu. Opcjonalnego identyfikatora można użyć do nadania nazwy
połączony zasób.
-r:ZESPÓŁ1[,ZESPÓŁ2], -odniesienie MONTAŻ1[,MONTAŻ2]
Odwołaj się do nazwanych zespołów. Użyj tego, aby użyć klas z nazwanego zestawu w
twój program. Zestaw zostanie załadowany z katalogu systemowego, w którym
wszystkie zespoły są na żywo lub ze ścieżki podanej jawnie z opcją -L.
Możesz również użyć średnika, aby oddzielić zespoły zamiast przecinka.
-odniesienie:ALIAS=MONTAŻ
Obsługa odwołań do aliasów zewnętrznych dla języka C#.
Jeśli masz różne zestawy, które zapewniają te same typy, zewnętrzny alias
pomoc techniczna umożliwia podanie nazw, których oprogramowanie może użyć, aby to powiedzieć
oddziel. Typy z ASSEMBLY zostaną ujawnione jako ALIAS, a następnie w źródle C#
kod, musisz zrobić:
zewnętrzny alias ALIAS;
Aby wprowadzić go do swojej przestrzeni nazw. Na przykład, aby poradzić sobie z dwiema bibliotekami graficznymi
które definiują "Graphics.Point", jeden w "OpenGL.dll" i jeden w "Postscript.dll", ty
wywołałby kompilator w ten sposób:
mcs -r:Postscript=Postscript.dll -r:OpenGL=OpenGL.dll
A w swoim kodzie źródłowym napisałbyś:
alias zewnętrzny Postscript;
alias zewnętrzny OpenGL;
klasa X {
// To jest Graphics.Point z Postscrip.dll
Postscript.Point p = nowy Postscript.Point ();
// To jest Graphics.Point z OpenGL.dll
OpenGL.Point p = nowy OpenGL.Point ();
}
-rekurencja: WZÓR, --rekurencja WZÓR
Wykonuje kompilację rekurencyjną przy użyciu określonego wzorca. W Uniksie powłoka będzie
wykonaj globbing, więc możesz go użyć w ten sposób:
$ mcs -recurse:'*.cs'
-sdk:WERSJA
Służy do określania wersji zestawów biblioteki klas podstawowych używanych do kompilacji.
Poprawne są następujące wstępnie zdefiniowane wartości: 2, 4 (domyślnie) oraz dowolna wartość niestandardowa.
Wstępnie zdefiniowany numer wersji oznacza, która wartość niestandardowa jest określona, mcs spróbuje
znajdź biblioteki klas bazowych w lokalizacji zainstalowanej mono PREFIX/lib/mono/ .
--powłoka
Uruchamia kompilator w trybie interaktywnym, udostępniając powłokę C# dla instrukcji i
wyrażenia. Skrótem jest użycie csharp polecenie bezpośrednio.
--Ślad stosu
Generuje ślad stosu w momencie zgłoszenia błędu, przydatny do debugowania
kompilator.
-cel: RODZAJ, -t:RODZAJ
Służy do określania żądanego celu. Możliwe wartości to: exe (zwykły
wykonywalny), winexe (plik wykonywalny Windows.Forms), biblioteka (biblioteki komponentów) i
moduł (biblioteka częściowa).
--znak czasu
Kolejna flaga debugowania. Służy do wyświetlania czasu w różnych punktach w
proces kompilacji.
-niebezpieczny, -niebezpieczne+
Umożliwia kompilację niebezpiecznego kodu.
-v Debugowanie. Włącza szczegółowe analizowanie yacc.
--wersja
Pokazuje wersję kompilatora.
-warnasbłąd, -warnasbłąd+
Wszystkie ostrzeżenia kompilatorów będą zgłaszane jako błędy.
-warnasbłąd:W1,[Wn], -warnaserror+:W1,[Wn]
Traktuje jedno lub więcej ostrzeżeń kompilatora jako błędy.
-warnaserror-:W1,[Wn]
Ustawia jedno lub więcej ostrzeżeń kompilatora, aby zawsze były zagrożone jako ostrzeżenia. Staje się
przydatne w połączeniu z -warnaserror.
-ostrzegaj: POZIOM
Ustawia poziom ostrzeżenia. 0 to najniższy poziom ostrzeżenia, a 4 to najwyższy. ten
wartość domyślna to 4.
-win32res:PLIK
Określa plik zasobów Win32 (.res), który ma zostać dołączony do wynikowego zestawu.
-win32icon:PLIK
Dołącza ikonę określoną w pliku FILE w danych wyjściowych do wynikowego zestawu.
-- Użyj tego, aby zatrzymać parsowanie opcji i zezwolić na przekazywanie parametrów wyglądających na opcje
w wierszu poleceń.
Pakietów ROLNICZE BIBLIOTEKI
Podczas odwoływania się do zestawu, jeśli nazwa zestawu jest ścieżką, kompilator spróbuje
aby załadować zestaw określony w ścieżce. Jeśli tak się nie stanie, kompilator spróbuje
ładowanie zestawu z bieżącego katalogu, katalogu podstawowego kompilatora i jeśli
asembler nie znajduje się w żadnym z tych miejsc w katalogach określonych jako argumenty do
-lib: argument polecenia.
Kompilator używa ścieżki biblioteki do lokalizowania bibliotek i jest w stanie odwoływać się do bibliotek
z konkretnego pakietu, jeśli ten katalog jest używany. Aby uprościć korzystanie z pakietów,
Kompilator C# zawiera opcję -pkg: wiersza poleceń, która służy do ładowania określonych
zbiory bibliotek.
Biblioteki widoczne dla kompilatora są przechowywane w odniesieniu do prefiksu instalacji pod
PREFIX/lib/mono/ o nazwie PACKAGEBASE, a domyślne ustawienia mcs, gmcs i smcs to
następuje:
McS Odwołuje się do katalogu PACKAGEBASE/1.0
gmc Odwołuje się do katalogu PACKAGEBASE/2.0
smc Odwołuje się do katalogu PACKAGEBASE/2.1
To jedyne istniejące profile wykonawcze. Chociaż istnieją inne katalogi (takie jak
3.0 i 3.5) to nie są tak naprawdę profile uruchomieniowe, są tylko miejscami zastępczymi na dodatkowe
biblioteki oparte na fundamencie 2.0.
Dostawcy oprogramowania będą dystrybuować oprogramowanie, które jest instalowane w odniesieniu do PACKAGEBASE
informator. Jest to zintegrowane z gakutyl narzędzie, które nie tylko instaluje publiczne
zestawów do globalnej pamięci podręcznej zestawów (GAC), ale także instaluje je w
Katalog PACKAGEBASE/PKG (gdzie PKG to nazwa przekazana do flagi -package do gacutil).
Jako programista, jeśli chcesz korzystać z bibliotek Gtk#, wywołałbyś kompilator
lubię to:
$ mcs -pkg:gtk-sharp-2.0 main.cs
Opcja -pkg: nakazuje kompilatorowi pobranie definicji dla gtk-sharp-2.0 z
pkg-config, jest to równoznaczne z przekazaniem do kompilatora C# danych wyjściowych:
$ pkg-config --libs gtk-sharp-2.0
Zwykle odnosi się to jedynie do bibliotek z PACKAGEBASE/PKG.
Chociaż istnieją nazwy katalogów dla wersji 3.0 i 3.5, nie oznacza to, że istnieją wersje 3.0
oraz 3.5 edycje lub profile kompilatora. To tylko nowe biblioteki, które muszą być
ręcznie, do którego odwołuje się odpowiednia opcja -pkg: wywołanie, lub odwołując się do
biblioteki bezpośrednio.
SPECIAL DEFINIUJE
Połączenia TRACE i DEBUG Definicje mają dla kompilatora specjalne znaczenie.
Domyślnie wywołania metod i właściwości w klasie System.Diagnostics.Trace nie są
generowane, chyba że symbol TRACE jest zdefiniowany (albo przez "#define TRACE") w twoim
kod źródłowy lub za pomocą --definiować TRACE w wierszu poleceń.
Domyślnie wywołania metod i właściwości w klasie System.Diagnostics.Debug nie są
generowane, chyba że symbol DEBUG jest zdefiniowany (albo przez "#define DEBUG") w twoim
kod źródłowy lub za pomocą --definiować DEBUG w wierszu poleceń.
Zauważ, że efektem zdefiniowania TRACE i DEBUG jest ustawienie globalne, nawet jeśli są
zdefiniowane tylko w jednym pliku.
DEBUGOWANIE WSPIERAJ
Używając flagi „-debug”, MCS wygeneruje plik z rozszerzeniem .mdb, który:
zawiera informacje debugowania dla wygenerowanego zestawu. Ten plik jest używany przez
debuger Mono (mdb).
ŚRODOWISKO ZMIENNE
MCS_KOLORY
Jeśli ta zmienna jest ustawiona, zawiera ciąg w postaci „foreground,background”
to określa, jakiego koloru użyć do wyświetlenia błędów na niektórych terminalach.
Tło jest opcjonalne i domyślnie odpowiada bieżącemu tłu terminala. ten
możliwe kolory pierwszego planu to: czarny, czerwony, jasny czerwony, zielony, jasno zielony,
żółty, jasny żółty, niebieski, jasny niebieski, magenta, jasny magenta, cyjan, jasny cyjan,
szary, biały i jasnobiały.
Możliwe kolory tła to: czarny, czerwony, zielony, żółty, niebieski, magenta,
cyjan, szary i biały.
Na przykład możesz ustawić te zmienną ze swojej powłoki:
eksportuj MCS_COLORS
MCS_COLORS=błędy=jasnobiały,czerwony
Możesz wyłączyć wbudowany schemat kolorów, ustawiając tę zmienną na „wyłącz”.
UWAGI
Podczas kompilacji kompilator MCS definiuje symbol __MonoCS__, który może być używany przez
instrukcje preprocesora do kompilacji kodu specyficznego dla kompilatora Mono C#. Proszę to zanotować
ten symbol służy tylko do testowania kompilatora i nie jest przydatny do rozróżniania kompilacji
lub platformy wdrożeniowe.
AUTORSKI
Kompilator Mono C# został napisany przez Miguela de Icaza, Ravi Pratap, Martina Bauliga, Marka
Safar i Raja Harinath. Rozwój sfinansowali Ximian, Novell i Marek Safar.
Korzystaj z dmcs online za pomocą usług onworks.net