InglésFrancésEspañol

Ad


icono de página de OnWorks

dmcs: en línea en la nube

Ejecute dmcs en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando dmcs que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


mcs - Compilador Mono C #

SINOPSIS


mcs [opción] [archivos de origen]

DESCRIPCIÓN


mcs es el compilador Mono C #, una implementación de la especificación del lenguaje ECMA-334.
Puede pasar una o más opciones para controlar el compilador y un conjunto de archivos fuente. Extra
se pueden proporcionar opciones o argumentos en un archivo de respuesta. Los archivos de respuesta son referenciados por
anteponiendo el símbolo @ al nombre del archivo de respuesta.

El mcs El compilador se utiliza para compilar con la última versión de Mono Base Class Library y
implementa completamente las especificaciones C # 1.0, 2.0, 3.0 y 4.0.

Consulte la sección sobre paquetes para obtener más información.

El compilador Mono C # acepta las mismas opciones de línea de comandos que el compilador Microsoft C #
lo hace. Esas opciones pueden comenzar con una barra o un guión (/ marcado es lo mismo que -checked).
Además, se admiten algunas opciones similares a GNU, que comienzan con "-". Todos específicos de MCS
Los indicadores que no están disponibles en el compilador de Microsoft C # están disponibles solo con el
Opciones de estilo GNU.

Los archivos fuente de C # deben terminar con una extensión ".cs". La compilación del código fuente de C # requiere
todos los archivos que componen una biblioteca, módulo o ejecutable que se proporcionarán en el comando
línea. No hay soporte para la compilación parcial. Para lograr los beneficios de la parcial
compilación, debe compilar los programas en sus propios ensamblados, y luego hacer referencia
ellos con la bandera "-r".

El compilador Mono C # genera imágenes (archivos .exe) que contienen código de bytes CIL que se puede
ejecutado por cualquier sistema que implemente una máquina virtual Common Language Infrastructure
como el motor en tiempo de ejecución Microsoft .NET en Windows o el motor en tiempo de ejecución Mono en Unix
sistemas. Los ejecutables no están vinculados a una CPU o sistema operativo específicos.

El compilador Mono C # de forma predeterminada solo hace referencia a tres ensamblados: mscorlib.dll, System.dll
y System.Xml.dll. Si desea hacer referencia a bibliotecas adicionales, debe especificar manualmente
ellos usando la opción de línea de comando -pkg: o la opción de línea de comando -r:. Alternativamente si
desea obtener todas las bibliotecas del sistema, puede usar la línea de comando -pkg: dotnet
.

CAMPUS


--acerca de
Muestra información sobre el compilador Mono C #

--addmodule: MODULE1 [, MODULE2]
Incluye los módulos especificados en el ensamblaje resultante. Los módulos son creados por
llamar al compilador con la opción -target: module

-comprobado, -marcado +
Establece el modo de compilación predeterminado en "marcado". Esto hace que todas las operaciones matemáticas
marcado (el valor predeterminado no está marcado).

-comprobado-
Establece el modo de compilación predeterminado en "desmarcado". Esto hace que todas las matemáticas
operaciones sin marcar (este es el valor predeterminado).

-clscheck-, -clscheck +
Deshabilita o habilita las comprobaciones de Common Language Specification (CLS) (está habilitado
por defecto).

La Common Language Specification (CLS) define un subconjunto interoperable de tipos como
así como las convenciones que los compiladores (productores de CLS) y los desarrolladores deben seguir para
exponer el código a otros lenguajes de programación (consumidores CLS).

-código página: ID
Especifica la página de códigos utilizada para procesar los archivos de entrada desde el punto en que se
especificado en. De forma predeterminada, los archivos se procesarán en el entorno dependiente
página de código nativo. El compilador también detectará automáticamente los archivos Unicode que
tienen una marca de byte incrustada al principio.

Otras codificaciones populares son 28591 (Latin1), 1252 (iso-8859-1) y 65001 (UTF-8).

MCS admite un par de abreviaturas: "utf8" se puede utilizar para especificar utf-8 en lugar de
el uso de la críptica 65001 y "reset" restaura el manejo automático de las páginas de códigos.
Estas abreviaturas no están disponibles en el compilador de Microsoft.

-definir: SIMLISTA, -d: SIMLISTA
Define el símbolo listado por la lista separada por punto y coma SYMLIST SYMBOL. Esta
puede ser probado en el código fuente por el preprocesador, o puede ser utilizado por métodos
que se han etiquetado con el atributo Condicional.

-depurar, -debug +
Genera información de depuración. Para obtener seguimientos de pila con información de depuración,
necesita invocar el tiempo de ejecución mono con el indicador `--debug '. La depuración
la información se almacena en un archivo MDB ubicado en la misma carpeta de salida que se produjo
el montaje.

-depurar-
No genere información de depuración.

-retrasar +
Solo inserte la clave pública de nombre seguro en el ensamblado. La firma real debe ser
hecho en una etapa posterior utilizando la herramienta SN. Esto es útil para proteger la clave privada.
durante el desarrollo. Tenga en cuenta que la firma diferida solo se puede realizar con una clave de nombre seguro
archivo (no un contenedor de claves). La opción equivale a incluir [montaje:
AssemblyDelaySign (true)] en su código fuente. La opción del compilador tiene prioridad
sobre los atributos.

-retraso-
Defecto. Strongname (firme) el ensamblado usando el archivo de clave de nombre seguro (o
envase). La opción equivale a incluir [assembly: AssemblyDelaySign
(falso)] en su código fuente. La opción del compilador tiene prioridad sobre los atributos.

-doc: ARCHIVO
Extrae la documentación C # / XML del código fuente y la almacena en el
EXPEDIENTE.

-reporte de error
Esta bandera es ignorada por el compilador C # de Mono y está presente solo para permitir que MCS sea
utilizado como reemplazo de CSC para msbuild / xbuild.

--fatal
Se utiliza para depurar el compilador. Esto hace que la emisión de error genere una
excepción que puede ser detectada por un depurador.

-alinear archivos
Esta bandera es ignorada por el compilador C # de Mono y está presente solo para permitir que MCS sea
utilizado como reemplazo de CSC para msbuild / xbuild.

-ruta completa
Cualquier error de código fuente o advertencia emitida por el compilador incluye el nombre de archivo solo por
defecto. Esta opción hace que el compilador emita una ruta de archivo absoluta en su lugar.

-archivo de claves: KEYFILE
Strongname (firme) el ensamblado de salida usando el par de claves presente en el
archivo de clave de nombre seguro (snk). Se requiere un par de claves completo de forma predeterminada (o cuando se usa
delaysign-). Un archivo que contiene solo la clave pública se puede usar con delaysign +. los
opción es equivalente a incluir [assembly: AssemblyKeyFile ("KEYFILE")] en su
código fuente. La opción del compilador tiene prioridad sobre los atributos.

-contenedor de llaves: CONTENEDOR
Strongname (firme) el ensamblado de salida usando el par de claves presente en el
envase. Tenga en cuenta que delaysign + se ignora cuando se utilizan contenedores de claves. La opcion es
equivalente a incluir [assembly: AssemblyKeyName ("CONTAINER")] en su fuente
código. La opción del compilador tiene prioridad sobre los atributos.

-langversion: TEXT
La opción especifica la versión del idioma que se utilizará. El conjunto de características es
diferente en cada versión de C #. Este modificador se puede utilizar para forzar al compilador a
permitir solo un subconjunto de las características. Los posibles valores son:

Predeterminado
Indique al compilador que use la última versión. Equivalente es omitir el
switch (actualmente, el valor predeterminado es la especificación del lenguaje C # 4.0).

ISO-1 Restrinja el compilador para usar solo las primeras características estandarizadas ISO. El uso de
características como genéricos, clases estáticas, métodos anónimos conducirán a
error.

ISO-2 Restrinja el compilador para usar solo las segundas características estandarizadas ISO. Esta
permite el uso de genéricos, clases estáticas, iteradores y métodos anónimos
por ejemplo.

3 Restrinja el compilador para usar solo las características disponibles en C # 3.0 (una
superconjunto de ISO-1 e ISO-2).

4 Restringir el compilador para usar solo las características disponibles en C # 4.0
especificación.

experimental
Habilita funciones inestables de las próximas versiones del idioma.

Tenga en cuenta que esta bandera solo restringe las funciones de idioma disponibles para
programador. Una versión de los ensamblajes producidos se puede controlar usando SDK .

-lib: PATHLIST
Cada ruta especificada en la lista separada por comas dirigirá al compilador a buscar
para bibliotecas en esa ruta especificada.

-L TRAYECTORIA
Indica al compilador que busque bibliotecas en la ruta especificada. Múltiples caminos
se puede proporcionar utilizando la opción varias veces.

-clase principal
Le dice al compilador qué CLASS contiene el punto de entrada. Útil cuando estás
compilando varias clases con un método Main.

-nostdlib, -nostdlib +
Utilice esta marca si desea compilar la biblioteca principal. Esto hace que el compilador
cargar sus tipos internos del ensamblado que se está compilando.

-noconfig, -noconfig +
Desactiva la configuración predeterminada del compilador que se cargará. El compilador por defecto
tiene referencias a los ensamblajes del sistema.

-nowarn: WARNLIST
Hace que el compilador ignore las advertencias especificadas en la lista separada por comas WARNLIST>

-optimizar, -optimizar +, -optimizar-
Controla las optimizaciones de generación de código del compilador en el código. Usando -optimize o
-optimize + activará las optimizaciones, -optimize- lo desactivará. El predeterminado en
mcs es optimizar-. La opción se puede mezclar con -debug pero para la mejor depuración
experiencia, se recomienda dejar las opciones desactivadas.

-out: FNAME, -o NOMBRE
Nombra el archivo de salida que se generará.

--analizar gramaticalmente
Se utiliza para realizar evaluaciones comparativas. El compilador solo analizará sus archivos de entrada.

-pkg: paquete1 [, paqueteN]
Ensamblados de referencia para los paquetes dados.

El compilador invocará pkg-config --libs en el conjunto de paquetes especificados en el
línea de comandos para obtener bibliotecas y directorios para compilar el código.

Esto generalmente se usa con componentes de terceros, como este:

$ mcs -pkg: gtk-sharp demo.cs

-paquete: dotnet
Esto le indicará al compilador que haga referencia a las bibliotecas System. *
disponible en una instalación típica de dotnet framework, tenga en cuenta que esto
no incluye todas las bibliotecas Mono, solo las de System. *. Esto es un
atajo conveniente para aquellos que portan el código.

-plataforma: ARCH
Se utiliza para especificar la plataforma de destino. Los valores posibles son: anycpu,
anycpu32bitpreferred, arm, x86, x64 o itanium. La opción predeterminada es anycpu.

-recurso: RECURSO [, ID]
Se inserta en el archivo de recursos dado. La ID opcional se puede utilizar para dar una
nombre al recurso. Si no se especifica, el nombre del recurso será el nombre del archivo.

-linkresource: RECURSO [, ID]
Vínculos al RECURSO especificado. El ID opcional se puede utilizar para dar un nombre al
recurso vinculado.

-r: MONTAJE1 [, MONTAJE2], -referencia MONTAJE1 [, MONTAJE2]
Haga referencia a los ensamblados nombrados. Use esto para usar clases del ensamblado nombrado en
su programa. El ensamblado se cargará desde el directorio del sistema donde
todos los ensamblados en vivo, o desde la ruta dada explícitamente con la opción -L.

También puede utilizar un punto y coma para separar los ensamblados en lugar de una coma.

-referencia: ALIAS = MONTAJE
Compatibilidad con referencias de alias externas para C #.

Si tiene diferentes ensamblados que proporcionan los mismos tipos, el alias externo
El soporte le permite proporcionar nombres que su software puede usar para decirles
appart. Los tipos de ASSEMBLY se expondrán como ALIAS, luego en la fuente C #
código, debe hacer:

alias externo ALIAS;
Para llevarlo a su espacio de nombres. Por ejemplo, para hacer frente a dos bibliotecas de gráficos
que definen "Graphics.Point", uno en "OpenGL.dll" y otro en "Postscript.dll",
invocaría al compilador así:

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

Y en su código fuente, escribiría:

Extern alias Postscript;
alias externo OpenGL;

clase X {
// Este es un Graphics.Point de Postscrip.dll
Postscript.Point p = nuevo Postscript.Point ();

// Este es un Graphics.Point de OpenGL.dll
OpenGL.Point p = nuevo OpenGL.Point ();
}

-recurrencia: PATRÓN, --recurrencia PATRÓN
Realiza una compilación recursiva utilizando el patrón especificado. En Unix, el shell
realizar globbing, por lo que es posible que desee usarlo así:

$ mcs -recurse: '*. cs'

-sdk: VERSIÓN
Se utiliza para especificar la versión de los ensamblados de la biblioteca de clases base que se utilizan para la compilación.
Los siguientes valores predefinidos son válidos: 2, 4 (predeterminado) así como cualquier valor personalizado.
El número de versión predefinido significa qué valor personalizado se especifica que mcs intentará
busque Bibliotecas de clases base en la ubicación mono instalada PREFIX / lib / mono / .

--cáscara
Inicia el compilador en modo interactivo, proporcionando un shell C # para declaraciones y
Expresiones Un atajo es usar el CSharp comando directamente.

--stacktrace
Genera un seguimiento de pila en el momento en que se informa el error, útil para depurar el
compilador

-objetivo: BONITO, -t: BONITO
Se utiliza para especificar el objetivo deseado. Los valores posibles son: exe (plano
ejecutable), winexe (ejecutable de Windows.Forms), biblioteca (bibliotecas de componentes) y
módulo (biblioteca parcial).

- marca de tiempo
Otra bandera de depuración. Se utiliza para mostrar los tiempos en varios puntos de la
proceso de compilación.

-inseguro, -inseguro +
Habilita la compilación de código inseguro.

-v Depuración. Activa el análisis yacc detallado.

--versión
Muestra la versión del compilador.

-warnaserror, -warnaserror +
Todas las advertencias de los compiladores se informarán como errores.

-warnaserror: W1, [Wn], -warnaserror +: W1, [Wn]
Trata una o más advertencias del compilador como errores.

-warnaserror-: W1, [Wn]
Establece una o más advertencias del compilador para que siempre se consideren advertencias. Se convierte
útil cuando se usa junto con -warnaserror.

-advertir: NIVEL
Establece el nivel de advertencia. 0 es el nivel de advertencia más bajo y 4 es el más alto. los
el predeterminado es 4.

-win32res: ARCHIVO
Especifica un archivo de recursos de Win32 (.res) que se incluirá en el ensamblado resultante.

-win32icon: ARCHIVO
Adjunta el icono especificado en FILE en la salida en el ensamblaje resultante.

-- Use esto para detener el análisis de opciones y permitir que se pasen los parámetros que buscan opciones
en la línea de comando.

PAQUETES Y BIBLIOTECAS


Al hacer referencia a un ensamblado, si el nombre del ensamblado es una ruta, el compilador intentará
para cargar el conjunto especificado en la ruta. Si no es así, el compilador intentará
cargando el ensamblado desde el directorio actual, el directorio base del compilador y si el
ensamblado no se encuentra en ninguno de esos lugares en los directorios especificados como argumentos para
el argumento -lib: comando.

El compilador usa la ruta de la biblioteca para ubicar bibliotecas y puede hacer referencia a bibliotecas
de un paquete en particular si se usa ese directorio. Para simplificar el uso de paquetes, el
El compilador de C # incluye la opción de línea de comandos -pkg: que se usa para cargar
colecciones de bibliotecas.

Las bibliotecas visibles para el compilador se almacenan en relación con el prefijo de instalación en
PREFIX / lib / mono / llamado PACKAGEBASE y los valores predeterminados para mcs, gmcs y smcs son los
manera:

mcs Hace referencia al directorio PACKAGEBASE / 1.0

gmc Hace referencia al directorio PACKAGEBASE / 2.0

smcs Hace referencia al directorio PACKAGEBASE / 2.1

Esos son los únicos perfiles de tiempo de ejecución que existen. Aunque existen otros directorios (como
3.0 y 3.5) esos no son realmente perfiles de tiempo de ejecución, son simplemente marcadores de posición para
Bibliotecas que se basan en la base 2.0.

Los proveedores de software distribuirán el software que esté instalado en relación con PACKAGEBASE
directorio. Esto está integrado en el gacutil herramienta que no solo instala públicos
ensamblados en la caché de ensamblados global (GAC) pero también los instala en el
Directorio PACKAGEBASE / PKG (donde PKG es el nombre pasado al indicador -package a gacutil).

Como desarrollador, si desea consumir las bibliotecas Gtk #, debe invocar el compilador
Me gusta esto:

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

La opción -pkg: indica al compilador que obtenga las definiciones de gtk-sharp-2.0 de
pkg-config, esto equivale a pasar al compilador de C # la salida de:

$ paq-config --libs gtk-sharp-2.0

Por lo general, esto simplemente hace referencia a las bibliotecas de PACKAGEBASE / PKG.

Aunque hay nombres de directorio para 3.0 y 3.5, eso no significa que haya 3.0
y 3.5 ediciones o perfiles del compilador. Esas son simplemente bibliotecas nuevas que deben ser
referenciado manualmente con la invocación -pkg: adecuada, o haciendo referencia a la
bibliotecas directamente.

SPECIAL DEFINE


El TRACE y DEBUG define tienen un significado especial para el compilador.

Por defecto, las llamadas a métodos y propiedades en la clase System.Diagnostics.Trace no son
generado a menos que se defina el símbolo TRACE (ya sea a través de un "#define TRACE") en su
código fuente, o usando el --definir TRACE en la línea de comando.

Por defecto, las llamadas a métodos y propiedades en la clase System.Diagnostics.Debug no son
generado a menos que se defina el símbolo DEBUG (ya sea a través de un "#define DEBUG") en su
código fuente, o usando el --definir DEBUG en la línea de comando.

Tenga en cuenta que el efecto de definir TRACE y DEBUG es una configuración global, incluso si están
solo definido en un solo archivo.

DEPURACIÓN SOPORTE


Cuando se utiliza el indicador "-debug", MCS generará un archivo con la extensión .mdb que
contiene la información de depuración del ensamblado generado. Este archivo es consumido por
el depurador Mono (mdb).

MEDIO AMBIENTE VARIABLES


MCS_COLORS
Si se establece esta variable, contiene una cadena con el formato "primer plano, fondo"
que especifica qué color usar para mostrar errores en algunos terminales.

El fondo es opcional y por defecto es el fondo actual de su terminal. los
Los posibles colores para el primer plano son: negro, rojo, rojo brillante, verde verde brillante,
amarillo, amarillo brillante, azul, azul brillante, cian, brillante, magenta, brightmagenta,
gris, blanco y blanco brillante.

Los colores posibles para el fondo son: negro, rojo, verde, amarillo, azul, magenta,
cian, gris y blanco.

Por ejemplo, puede establecer estas variables desde su shell:
exportar MCS_COLORS
MCS_COLORS = errores = blanco brillante, rojo

Puede deshabilitar el esquema de color incorporado configurando esta variable en "deshabilitar".

NOTAS


Durante la compilación, el compilador MCS define el símbolo __MonoCS__, que puede ser utilizado por
instrucciones de preprocesador para compilar código específico del compilador Mono C #. Tenga en cuenta que
este símbolo es solo para probar el compilador, y no es útil para distinguir la compilación
o plataformas de despliegue.

AUTORES


El compilador Mono C # fue escrito por Miguel de Icaza, Ravi Pratap, Martin Baulig, Marek
Safar y Raja Harinath. El desarrollo fue financiado por Ximian, Novell y Marek Safar.

Utilice dmcs en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad