EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

dmcs – Online in der Cloud

Führen Sie dmcs im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl dmcs, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


mcs - Mono C#-Compiler

ZUSAMMENFASSUNG


Mcs [Option] [Quelldateien]

BESCHREIBUNG


mcs ist der Mono C#-Compiler, eine Implementierung der Sprachspezifikation ECMA-334.
Sie können eine oder mehrere Optionen zum Ansteuern des Compilers und eine Reihe von Quelldateien übergeben. Extra
Optionen oder Argumente können in einer Antwortdatei bereitgestellt werden. Antwortdateien werden referenziert von
Voranstellen des @-Symbols vor dem Namen der Antwortdatei.

Das Mcs Compiler wird verwendet, um gegen die neueste Version der Mono Base Class Library zu kompilieren und
implementiert die Spezifikationen von C# 1.0, 2.0, 3.0 und 4.0 vollständig.

Weitere Informationen finden Sie im Abschnitt zu Paketen.

Der Mono C#-Compiler akzeptiert dieselben Befehlszeilenoptionen wie der Microsoft C#-Compiler
tut. Diese Optionen können mit einem Schrägstrich oder einem Bindestrich beginnen (/checked ist dasselbe wie -checked).
Zusätzlich werden einige GNU-ähnliche Optionen unterstützt, die mit "--" beginnen. Alle MCS-spezifisch
Flags, die im Microsoft C#-Compiler nicht verfügbar sind, sind nur mit dem
Optionen im GNU-Stil.

C#-Quelldateien müssen mit der Erweiterung ".cs" enden. Kompilieren von C#-Quellcode erfordert
alle Dateien, aus denen eine Bibliothek, ein Modul oder eine ausführbare Datei besteht, die über den Befehl bereitgestellt werden
Leitung. Es gibt keine Unterstützung für die teilweise Kompilierung. Um die Vorteile von partiellem . zu erreichen
Kompilierung sollten Sie Programme in ihre eigenen Assemblies kompilieren und später darauf verweisen
sie mit dem Flag "-r".

Der Mono C#-Compiler generiert Bilder (.exe-Dateien), die CIL-Byte-Code enthalten, der
ausgeführt von jedem System, das eine virtuelle Common Language Infrastructure-Maschine implementiert
wie die Microsoft .NET-Laufzeit-Engine unter Windows oder die Mono-Laufzeit-Engine unter Unix
Systeme. Ausführbare Dateien sind nicht an eine bestimmte CPU oder ein bestimmtes Betriebssystem gebunden.

Der Mono C#-Compiler verweist standardmäßig nur auf drei Assemblys: mscorlib.dll, System.dll
und System.Xml.dll. Wenn Sie auf zusätzliche Bibliotheken verweisen möchten, müssen Sie dies manuell angeben
sie mit der Befehlszeilenoption -pkg: oder der Befehlszeilenoption -r:. Alternativ, wenn
Wenn Sie alle Systembibliotheken erhalten möchten, können Sie die Befehlszeile -pkg:dotnet . verwenden
.

OPTIONAL


--Über
Zeigt Informationen zum Mono C#-Compiler an

--addmodule:MODUL1[,MODUL2]
Schließt die angegebenen Module in die resultierende Assembly ein. Module werden erstellt von
Aufruf des Compilers mit der Option -target:module

-geprüft, -geprüft+
Setzt den Standardkompilierungsmodus auf `checked'. Dies macht alle mathematischen Operationen
aktiviert (der Standardwert ist deaktiviert).

-geprüft-
Setzt den Standardkompilierungsmodus auf `unchecked'. Das macht die ganze Mathematik
Operationen deaktiviert (dies ist die Standardeinstellung).

-clscheck-, -clscheck+
Deaktiviert oder aktiviert die Common Language Specification (CLS)-Prüfungen (sie ist aktiviert)
standardmäßig).

Die Common Language Specification (CLS) definiert eine interoperable Teilmenge von Typen als
sowie Konventionen, die Compiler (CLS-Produzenten) und Entwickler befolgen müssen
Code für andere Programmiersprachen (CLS-Konsumenten) verfügbar machen.

-Codepage:ID
Gibt die Codepage an, die verwendet wird, um die Eingabedateien ab dem Zeitpunkt zu verarbeiten, an dem sie sich befindet
angegeben am. Standardmäßig werden Dateien umgebungsabhängig verarbeitet
native Codepage. Der Compiler erkennt auch automatisch Unicode-Dateien, die
haben am Anfang eine eingebettete Byte-Marke.

Andere beliebte Kodierungen sind 28591 (Latin1), 1252 (iso-8859-1) und 65001 (UTF-8).

MCS unterstützt ein paar Abkürzungen: "utf8" kann verwendet werden, um utf-8 anstelle von . anzugeben
mit dem kryptischen 65001 und "reset" wird die automatische Behandlung von Codepages wiederhergestellt.
Diese Abkürzungen sind auf dem Microsoft-Compiler nicht verfügbar.

-define:SYMLISTE, -d:SYMLISTE
Definiert das durch Semikolon getrennte Liste SYMLIST SYMBOL aufgelistete Symbol. Dies
können im Quellcode vom Präprozessor getestet oder von Methoden verwendet werden
die mit dem Conditional-Attribut markiert wurden.

-debuggen, -debuggen+
Generieren Sie Debugging-Informationen. Um Stack-Traces mit Debugging-Informationen abzurufen,
Sie müssen die Mono-Laufzeit mit dem Flag `--debug' aufrufen. Die Fehlersuche
Informationen werden in einer MDB-Datei gespeichert, die sich im selben Ausgabeordner wie die Produktion befindet
Versammlung.

-debuggen-
Generieren Sie keine Debugging-Informationen.

-Verzögerung+
Betten Sie nur den öffentlichen Schlüssel des starken Namens in die Assembly ein. Die tatsächliche Unterzeichnung muss sein
zu einem späteren Zeitpunkt mit dem SN-Tool erfolgen. Dies ist nützlich, um den privaten Schlüssel zu schützen
während der Entwicklung. Beachten Sie, dass das verzögerte Signieren nur mit einem Strongname-Schlüssel erfolgen kann
Datei (kein Schlüsselcontainer). Die Option entspricht dem Einschließen von [Baugruppe:
AssemblyDelaySign (true)] in Ihrem Quellcode. Compileroption hat Vorrang
über die Attribute.

-Verzögerung-
Standard. Strongname (signieren) Sie die Assembly mit der Schlüsseldatei für den starken Namen (oder
Container). Die Option entspricht dem Einschließen von [assembly: AssemblyDelaySign
(false)] in Ihrem Quellcode. Die Compiler-Option hat Vorrang vor den Attributen.

-doc:DATEI
Extrahiert die C#/XML-Dokumentation aus dem Quellcode und speichert sie im angegebenen
DATEI.

-Fehlermeldung
Dieses Flag wird vom C#-Compiler von Mono ignoriert und ist nur vorhanden, um MCS zu ermöglichen
als CSC-Ersatz für msbuild/xbuild verwendet.

--tödlich
Dies wird zum Debuggen des Compilers verwendet. Dadurch erzeugt die Fehleremission ein
Ausnahme, die von einem Debugger abgefangen werden kann.

-filealign
Dieses Flag wird vom C#-Compiler von Mono ignoriert und ist nur vorhanden, um MCS zu ermöglichen
als CSC-Ersatz für msbuild/xbuild verwendet.

-vollständige Pfade
Jeder Quellcodefehler oder jede Warnung, die vom Compiler ausgegeben wird, enthält Dateinamen nur von
Ursprünglich. Diese Option bewirkt, dass der Compiler stattdessen einen absoluten Dateipfad ausgibt.

-Schlüsseldatei:SCHLÜSSELDATEI
Strongname (signieren) Sie die Ausgabeassembly mit dem Schlüsselpaar, das in der angegebenen vorhanden ist
Schlüsseldatei mit starkem Namen (snk). Standardmäßig ist ein vollständiges Schlüsselpaar erforderlich (oder bei Verwendung von
Verzögerungszeichen-). Eine Datei, die nur den öffentlichen Schlüssel enthält, kann mit delaysign+ verwendet werden. Die
Option entspricht der Aufnahme von [assembly: AssemblyKeyFile ("KEYFILE")] in Ihr
Quellcode. Die Compiler-Option hat Vorrang vor den Attributen.

-Schlüsselcontainer: CONTAINER
Strongname (signieren) Sie die Ausgabeassembly mit dem Schlüsselpaar, das in der angegebenen vorhanden ist
Container. Beachten Sie, dass delaysign+ ignoriert wird, wenn Schlüsselcontainer verwendet werden. Die Option ist
entspricht dem Einfügen von [assembly: AssemblyKeyName ("CONTAINER")] in Ihre Quelle
Code. Die Compiler-Option hat Vorrang vor den Attributen.

-langversion:TEXT
Die Option gibt die Version der zu verwendenden Sprache an. Der Funktionsumfang ist
in jeder C#-Version unterschiedlich. Mit diesem Schalter kann der Compiler gezwungen werden,
nur eine Teilmenge der Funktionen zulassen. Die möglichen Werte sind:

Standard
Weisen Sie den Compiler an, die neueste Version zu verwenden. Äquivalent ist das Weglassen der
switch (diese ist derzeit standardmäßig die Sprachspezifikation von C# 4.0).

ISO-1 Schränken Sie den Compiler ein, nur die ersten ISO-standardisierten Funktionen zu verwenden. Die Verwendung von
Features wie Generics, statische Klassen, anonyme Methoden führen zu
Fehler.

ISO-2 Beschränken Sie den Compiler, um nur die zweiten ISO-standardisierten Funktionen zu verwenden. Dies
erlaubt die Verwendung von Generika, statischen Klassen, Iteratoren und anonymen Methoden
zum Beispiel.

3 Schränken Sie den Compiler so ein, dass er nur die in C# 3.0 verfügbaren Funktionen verwendet (a
Obermenge von ISO-1 und ISO-2).

4 Schränken Sie den Compiler so ein, dass er nur die in C# 4.0 verfügbaren Funktionen verwendet
Spezifikation.

experimentell
Aktiviert instabile Funktionen von kommenden Versionen der Sprache.

Beachten Sie, dass dieses Flag nur die Sprachfunktionen einschränkt, die für die
Programmierer. Eine Version der produzierten Baugruppen kann mit . gesteuert werden SDK .

-lib:PFADLISTE
Jeder Pfad, der in der durch Kommas getrennten Liste angegeben ist, weist den Compiler an, zu suchen
für Bibliotheken in diesem angegebenen Pfad.

-L PATH
Weist den Compiler an, im angegebenen Pfad nach Bibliotheken zu suchen. Mehrere Pfade
kann durch mehrmaliges Verwenden der Option bereitgestellt werden.

-Hauptklasse
Teilt dem Compiler mit, welche CLASS den Einstiegspunkt enthält. Nützlich, wenn Sie es sind
Kompilieren mehrerer Klassen mit einer Main-Methode.

-nostdlib, -nostdlib+
Verwenden Sie dieses Flag, wenn Sie die Kernbibliothek kompilieren möchten. Das macht den Compiler
lädt seine internen Typen aus der zu kompilierenden Assembly.

-noconfig, -noconfig+
Deaktiviert das Laden der standardmäßigen Compilerkonfiguration. Der Compiler standardmäßig
hat Verweise auf die Systembaugruppen.

-nowarn:WARNLISTE
Lässt den Compiler Warnungen ignorieren, die in der durch Kommas getrennten Liste angegeben sind WARNLIST>

-optimieren, -optimieren+, -optimieren-
Steuert Optimierungen der Compilercodegenerierung für den Code. Verwenden von -optimize oder
-optimize+ aktiviert Optimierungen, -optimize- deaktiviert sie. Die Standardeinstellung
mcs ist zu optimieren-. Die Option kann mit -debug gemischt werden, aber für das beste Debugging
Erfahrungsgemäß wird empfohlen, die Optionen auszulassen.

-out:FNAME, -o FNAME
Benennt die zu generierende Ausgabedatei.

--parsen
Wird für Benchmarking verwendet. Der Compiler analysiert nur seine Eingabedateien.

-pkg:Paket1[,PaketN]
Referenzassemblys für die angegebenen Pakete.

Der Compiler ruft pkg-config --libs für den Paketsatz auf, der auf der
Befehlszeile, um Bibliotheken und Verzeichnisse zum Kompilieren des Codes abzurufen.

Dies wird normalerweise mit Komponenten von Drittanbietern verwendet, wie zum Beispiel:

$ mcs -pkg:gtk-sharp demo.cs

-pkg:dotnet
Dadurch wird der Compiler angewiesen, auf die System.*-Bibliotheken zu verweisen
auf einer typischen Dotnet-Framework-Installation verfügbar ist, beachten Sie, dass dies der Fall ist
nicht alle Mono-Bibliotheken enthalten, sondern nur die System.*-Bibliotheken. Das ist ein
bequeme Abkürzung für diesen Portierungscode.

-Plattform:ARCH
Wird verwendet, um die Zielplattform anzugeben. Die möglichen Werte sind: anycpu,
anycpu32bitpreferred, arm, x86, x64 oder itanium. Die Standardoption ist anycpu.

-resource:RESSOURCE[,ID]
Bettet in die angegebene Ressourcendatei ein. Die optionale ID kann verwendet werden, um eine andere zu vergeben
Name für die Ressource. Wenn nicht angegeben, ist der Ressourcenname der Dateiname.

-linkresource:RESSOURCE[,ID]
Links zur angegebenen RESSOURCE. Die optionale ID kann verwendet werden, um dem . einen Namen zu geben
verlinkte Ressource.

-r:BAUGRUPPE1[,BAUGRUPPE2], -Referenz MONTAGE1[,MONTAGE2]
Verweisen Sie auf die benannten Assemblys. Verwenden Sie dies, um Klassen aus der benannten Assembly in zu verwenden
Ihr Programm. Die Assembly wird entweder aus dem Systemverzeichnis geladen, in dem
alle Assemblys live oder aus dem explizit mit der Option -L angegebenen Pfad.

Sie können anstelle eines Kommas auch ein Semikolon verwenden, um die Assemblys zu trennen.

-Referenz:ALIAS=MONTAGE
Unterstützung für externe Alias-Referenzen für C#.

Wenn Sie über verschiedene Assemblys verfügen, die dieselben Typen bereitstellen, wird der externe Alias
Der Support ermöglicht es Ihnen, Namen anzugeben, die Ihre Software verwenden kann, um diese zu erkennen
auseinander. Die Typen von ASSEMBLY werden als ALIAS verfügbar gemacht, dann in der C#-Quelle
Code, müssen Sie tun:

externer Alias ​​ALIAS;
Um es in Ihren Namensraum zu bringen. Zum Beispiel, um mit zwei Grafikbibliotheken fertig zu werden
die "Graphics.Point" definieren, einen in "OpenGL.dll" und einen in "Postscript.dll", Sie
würde den Compiler so aufrufen:

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

Und in Ihrem Quellcode würden Sie schreiben:

externer Alias ​​Postscript;
externer Alias ​​OpenGL;

Klasse X {
// Dies ist ein Graphics.Point von Postscrip.dll
Postscript.Point p = neuer Postscript.Point ();

// Dies ist ein Graphics.Point von OpenGL.dll
OpenGL.Point p = neuer OpenGL.Point ();
}

-rekursion:MUSTER, --rekursion MUSTER
Führt eine rekursive Kompilierung mit dem angegebenen Muster durch. Unter Unix wird die Shell
Führen Sie Globbing durch, also möchten Sie es vielleicht so verwenden:

$ mcs -recurse:'*.cs'

-sdk:VERSION
Wird verwendet, um die Version der Basisklassenbibliothek-Assemblys anzugeben, die für die Kompilierung verwendet werden.
Folgende vordefinierte Werte sind gültig: 2, 4 (Standard) sowie alle benutzerdefinierten Werte.
Die vordefinierte Versionsnummer bedeutet, welcher benutzerdefinierte Wert angegeben wird, den mcs versuchen wird
Finden Sie Basisklassenbibliotheken im installierten Mono-Speicherort PREFIX/lib/mono/ .

--Schale
Startet den Compiler im interaktiven Modus und bietet eine C#-Shell für Anweisungen und
Ausdrücke. Eine Abkürzung ist die Verwendung der scharf Befehl direkt.

--stacktrace
Generiert einen Stack-Trace zum Zeitpunkt der Fehlermeldung, nützlich zum Debuggen des
Compiler.

-Ziel: ART, -t:FREUNDLICH
Wird verwendet, um das gewünschte Ziel anzugeben. Die möglichen Werte sind: exe (plain
ausführbare Datei), winexe (ausführbare Windows.Forms-Datei), Bibliothek (Komponentenbibliotheken) und
Modul (Teilbibliothek).

--Zeitstempel
Ein weiteres Debugging-Flag. Wird verwendet, um die Zeiten an verschiedenen Stellen im
Zusammenstellungsprozess.

-unsicher, -unsicher+
Ermöglicht die Kompilierung von unsicherem Code.

-v Debuggen. Aktiviert das ausführliche Yacc-Parsing.

--Version
Zeigt die Compilerversion an.

-warnfehler, -warnaserror+
Alle Compiler-Warnungen werden als Fehler gemeldet.

-warnaserror:W1,[Wn], -warnaserror+:W1,[Wn]
Behandelt eine oder mehrere Compilerwarnungen als Fehler.

-warnaserror-:W1,[Wn]
Legt fest, dass eine oder mehrere Compilerwarnungen immer als Warnungen bedroht werden. Wird
nützlich, wenn es zusammen mit -warnaserror verwendet wird.

-warnen: LEVEL
Legt die Warnstufe fest. 0 ist die niedrigste Warnstufe und 4 die höchste. Die
Standard ist 4.

-win32res:DATEI
Gibt eine Win32-Ressourcendatei (.res) an, die in die resultierende Assembly gebündelt werden soll.

-win32icon:DATEI
Fügt das in FILE angegebene Symbol an der Ausgabe an die resultierende Baugruppe an.

-- Verwenden Sie dies, um das Parsen von Optionen zu stoppen und die Übergabe von Parametern, die nach Optionen aussehen, zuzulassen
in der Kommandozeile.

PAKETE UND BIBLIOTHEKEN


Wenn beim Verweisen auf eine Assembly der Name der Assembly ein Pfad ist, versucht der Compiler,
um die im Pfad angegebene Assembly zu laden. Wenn dies nicht der Fall ist, wird der Compiler versuchen
Laden der Assembly aus dem aktuellen Verzeichnis, dem Compiler-Basisverzeichnis und wenn die
Assembly wird an keiner dieser Stellen in den Verzeichnissen gefunden, die als Argumente für . angegeben sind
das -lib: Befehlsargument.

Der Compiler verwendet den Bibliothekspfad, um Bibliotheken zu finden, und kann auf Bibliotheken verweisen
aus einem bestimmten Paket, wenn dieses Verzeichnis verwendet wird. Um die Verwendung von Paketen zu vereinfachen,
Der C#-Compiler enthält die Befehlszeilenoption -pkg: zum Laden bestimmter
Sammlungen von Bibliotheken.

Für den Compiler sichtbare Bibliotheken werden relativ zum Installationspräfix unter
PREFIX/lib/mono/ heißt PACKAGEBASE und die Voreinstellungen für mcs, gmcs und smcs sind wie
folgt:

Mcs Verweist auf das Verzeichnis PACKAGEBASE/1.0

gmcs Verweist auf das Verzeichnis PACKAGEBASE/2.0

sms Verweist auf das Verzeichnis PACKAGEBASE/2.1

Dies sind die einzigen Laufzeitprofile, die existieren. Obwohl andere Verzeichnisse existieren (wie
3.0 und 3.5) das sind keine wirklichen Laufzeitprofile, sondern nur Platzhalter für zusätzliche
Bibliotheken, die auf der 2.0-Basis aufbauen.

Softwareanbieter verteilen Software, die relativ zur PACKAGEBASE . installiert ist
Verzeichnis. Dies ist in die gacutil Tool, das nicht nur öffentlich installiert
Assemblys in den Global Assembly Cache (GAC), sondern installiert sie auch in den
PACKAGEBASE/PKG-Verzeichnis (wobei PKG der Name ist, der an das Flag -package an gacutil übergeben wird).

Wenn Sie als Entwickler die Gtk#-Bibliotheken verwenden möchten, rufen Sie den Compiler auf
so was:

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

Die Option -pkg: weist den Compiler an, die Definitionen für gtk-sharp-2.0 von
pkg-config, dies entspricht der Übergabe der Ausgabe an den C#-Compiler von:

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

Normalerweise referenziert dies lediglich die Bibliotheken von PACKAGEBASE/PKG.

Obwohl es Verzeichnisnamen für 3.0 und 3.5 gibt, bedeutet dies nicht, dass es 3.0
und 3.5 Compiler-Editionen oder -Profile. Das sind nur neue Bibliotheken, die sein müssen
manuell referenziert, entweder mit dem richtigen -pkg:-Aufruf oder durch Verweis auf die
Bibliotheken direkt.

SPECIAL DEFINIERT


Das SPUR und DEBUGGEN defines haben für den Compiler eine besondere Bedeutung.

Standardmäßig sind Aufrufe von Methoden und Eigenschaften in der System.Diagnostics.Trace-Klasse nicht
generiert, es sei denn, das TRACE-Symbol ist definiert (entweder durch ein "#define TRACE") in Ihrem
Quellcode, oder mithilfe der --definieren SPUR in der Kommandozeile.

Standardmäßig sind Aufrufe von Methoden und Eigenschaften in der System.Diagnostics.Debug-Klasse nicht
generiert, es sei denn, das DEBUG-Symbol ist definiert (entweder durch ein "#define DEBUG") in Ihrem
Quellcode, oder mithilfe der --definieren DEBUGGEN in der Kommandozeile.

Beachten Sie, dass die Definition von TRACE und DEBUG eine globale Einstellung ist, auch wenn sie
nur in einer einzigen Datei definiert.

FEHLERBEHEBUNG SUPPORT


Wenn das Flag "-debug" verwendet wird, generiert MCS eine Datei mit der Erweiterung .mdb, die
enthält die Debuginformationen für die generierte Assembly. Diese Datei wird verbraucht von
der Mono-Debugger (mdb).

VARIABLEN


MCS_COLORS
Wenn diese Variable gesetzt ist, enthält sie einen String in der Form "Vordergrund,Hintergrund"
die angibt, welche Farbe verwendet werden soll, um Fehler auf einigen Terminals anzuzeigen.

Der Hintergrund ist optional und entspricht standardmäßig dem aktuellen Hintergrund Ihres Terminals. Die
mögliche Farben für den Vordergrund sind: schwarz, roten Hellrot, grün hellgrün,
Gelb, helles Gelb, blau, hellblau, magenta, hellmagenta, cyan, hellcyan,
grau, weiß und hellweiß.

Die möglichen Hintergrundfarben sind: schwarz, rot, grün, gelb, blau, magenta,
Cyan, Grau und Weiß.

Sie könnten beispielsweise diese Variable von Ihrer Shell aus setzen:
MCS_COLORS exportieren
MCS_COLORS=errors=hellweiß,rot

Sie können das eingebaute Farbschema deaktivieren, indem Sie diese Variable auf "disable" setzen.

ANMERKUNG


Während der Kompilierung definiert der MCS-Compiler das __MonoCS__-Symbol, dieses kann verwendet werden von
Präprozessoranweisungen zum Kompilieren von Mono C#-Compiler-spezifischem Code. Bitte beachte, dass
Dieses Symbol dient nur zum Testen des Compilers und ist nicht nützlich, um die Kompilierung zu unterscheiden
oder Bereitstellungsplattformen.

AUTOREN


Der Mono C# Compiler wurde von Miguel de Icaza, Ravi Pratap, Martin Baulig, Marek . geschrieben
Safar und Raja Harinath. Die Entwicklung wurde von Ximian, Novell und Marek Safar finanziert.

Nutzen Sie dmcs online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad