АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

dmcs - Интернет в облаке

Запуск dmcs в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда dmcs, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


mcs - компилятор Mono C #

СИНТАКСИС


MCS [вариант] [исходные файлы]

ОПИСАНИЕ


mcs - это компилятор Mono C #, реализация спецификации языка ECMA-334.
Вы можете передать один или несколько параметров для управления компилятором и набор исходных файлов. Дополнительный
параметры или аргументы могут быть предоставлены в файле ответов. На файлы ответов ссылается
добавление символа @ к имени файла ответов.

Ассоциация MCS компилятор используется для компиляции с последней версией библиотеки базовых классов Mono и
полностью реализует спецификации C # 1.0, 2.0, 3.0 и 4.0.

См. Раздел о пакетах для получения дополнительной информации.

Компилятор Mono C # принимает те же параметры командной строки, что и компилятор Microsoft C #.
делает. Эти параметры могут начинаться с косой черты или тире (/ checked совпадает с -checked).
Кроме того, поддерживаются некоторые параметры, подобные GNU, начинающиеся с "-". Все для MCS
флаги, которые недоступны в компиляторе Microsoft C #, доступны только с
Опции в стиле GNU.

Исходные файлы C # должны иметь расширение «.cs». Для компиляции исходного кода C # требуется
все файлы, составляющие библиотеку, модуль или исполняемый файл, которые должны быть предоставлены в команде
линия. Нет поддержки частичной компиляции. Для достижения преимуществ частичного
компиляции, вы должны компилировать программы в их собственные сборки, а затем ссылаться на
их с флагом "-r".

Компилятор Mono C # генерирует изображения (файлы .exe), содержащие байт-код CIL, который может быть
выполняется любой системой, которая реализует виртуальную машину Common Language Infrastructure.
такие как среда выполнения Microsoft .NET в Windows или среда выполнения Mono в Unix
системы. Исполняемые файлы не привязаны к конкретному процессору или операционной системе.

Компилятор Mono C # по умолчанию ссылается только на три сборки: mscorlib.dll, System.dll.
и System.Xml.dll. Если вы хотите ссылаться на дополнительные библиотеки, вы должны вручную указать
их с помощью параметра командной строки -pkg: или параметра -r: командной строки. В качестве альтернативы, если
вы хотите получить все системные библиотеки, вы можете использовать командную строку -pkg: dotnet
опцию.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


--около
Отображает информацию о компиляторе Mono C #

--addmodule: MODULE1 [, MODULE2]
Включает указанные модули в результирующую сборку. Модули созданы
вызов компилятора с параметром -target: module

-проверено, -проверено +
Устанавливает для режима компиляции по умолчанию значение "checked". Это делает все математические операции
установлен (по умолчанию не установлен).

-проверено-
Устанавливает режим компиляции по умолчанию на `unchecked '. Это делает всю математику
операции не отмечены (по умолчанию).

-clscheck-, -clscheck +
Отключает или включает проверки Common Language Specification (CLS) (он включен
по умолчанию).

Спецификация общего языка (CLS) определяет совместимое подмножество типов как
а также соглашения, которым должны следовать компиляторы (производители CLS) и разработчики.
предоставлять код другим языкам программирования (потребителям CLS).

-codepage: ID
Определяет кодовую страницу, используемую для обработки входных файлов с момента ее загрузки.
указано на. По умолчанию файлы будут обрабатываться в зависимости от среды.
собственная кодовая страница. Компилятор также автоматически обнаружит файлы Unicode, которые
иметь встроенную байтовую метку в начале.

Другие популярные кодировки: 28591 (Latin1), 1252 (iso-8859-1) и 65001 (UTF-8).

MCS поддерживает несколько сокращений: "utf8" можно использовать для указания utf-8 вместо
использование загадочного 65001 и «сброс» восстанавливает автоматическую обработку кодовых страниц.
Эти сокращения недоступны в компиляторе Microsoft.

-define: SYMLIST, -d: СИМЛИСТ
Определяет символ, указанный в списке, разделенном точкой с запятой. SYMLIST SYMBOL. Этот
могут быть протестированы в исходном коде препроцессором или могут использоваться методами
которые были помечены атрибутом Conditional.

-отлаживать, -отладка +
Сгенерируйте отладочную информацию. Чтобы получить трассировку стека с отладочной информацией,
вам нужно вызвать моно среду выполнения с флагом --debug. Отладка
информация хранится в файле MDB, расположенном в той же выходной папке, что и созданный
сборка.

-отлаживать-
Не генерировать отладочную информацию.

-delaysign +
Встраивайте в сборку только открытый ключ строгого имени. Фактическое подписание должно быть
выполняется на более позднем этапе с помощью инструмента SN. Это полезно для защиты закрытого ключа.
во время разработки. Обратите внимание, что отложенное подписание может быть выполнено только с использованием ключа строгого имени.
файл (не ключевой контейнер). Этот параметр эквивалентен включению [сборка:
AssemblyDelaySign (true)] в исходном коде. Параметр компилятора имеет приоритет
над атрибутами.

-delaysign-
Дефолт. Строгое имя (подписать) сборку, используя файл ключа строгого имени (или
контейнер). Этот параметр эквивалентен включению [assembly: AssemblyDelaySign
(false)] в исходном коде. Параметр компилятора имеет приоритет над атрибутами.

-doc: ФАЙЛ
Извлекает документацию C # / XML из исходного кода и сохраняет в заданном
ФАЙЛ.

-сообщение об ошибке
Этот флаг игнорируется компилятором Mono C # и присутствует только для разрешения MCS.
используется как замена CSC для msbuild / xbuild.

- смертельный
Это используется для отладки компилятора. Это заставляет излучение ошибок генерировать
исключение, которое может быть обнаружено отладчиком.

-выравнивание файла
Этот флаг игнорируется компилятором Mono C # и присутствует только для разрешения MCS.
используется как замена CSC для msbuild / xbuild.

-полные пути
Любая ошибка исходного кода или предупреждение, выпущенное компилятором, включает имя файла только
дефолт. Эта опция заставляет компилятор выдавать вместо этого абсолютный путь к файлу.

-keyfile: КЛЮЧЕВОЙ ФАЙЛ
Strongname (подписать) выходную сборку с помощью пары ключей, присутствующей в указанном
файл ключа строгого имени (snk). Полная пара ключей требуется по умолчанию (или при использовании
задержка-). Файл, содержащий только открытый ключ, можно использовать с delaysign +. В
вариант эквивалентен включению [assembly: AssemblyKeyFile ("KEYFILE")] в ваш
исходный код. Параметр компилятора имеет приоритет над атрибутами.

-keycontainer: КОНТЕЙНЕР
Strongname (подписать) выходную сборку с помощью пары ключей, присутствующей в указанном
контейнер. Обратите внимание, что delaysign + игнорируется при использовании контейнеров ключей. Вариант
эквивалентно включению [assembly: AssemblyKeyName ("CONTAINER")] в ваш источник
код. Параметр компилятора имеет приоритет над атрибутами.

-langversion: ТЕКСТ
Параметр указывает версию используемого языка. Набор функций
отличается в каждой версии C #. Этот переключатель можно использовать, чтобы заставить компилятор
разрешить только часть функций. Возможные значения:

По умолчанию
Укажите компилятору использовать последнюю версию. Эквивалент - опустить
switch (в настоящее время по умолчанию используется спецификация языка C # 4.0).

ISO-1 Ограничить компилятор использованием только первых стандартизованных функций ISO. Использование
такие функции, как дженерики, статические классы, анонимные методы, приведут к
ошибка.

ISO-2 Ограничьте компилятор использовать только вторые стандартизованные функции ISO. Этот
позволяет использовать универсальные шаблоны, статические классы, итераторы и анонимные методы
например.

3 Ограничьте компилятор использовать только функции, доступные в C # 3.0 (a
надмножество ISO-1 и ISO-2).

4 Ограничьте компилятор использовать только функции, доступные в C # 4.0
спецификация.

экспериментальный
Включает нестабильные функции из следующих версий языка.

Обратите внимание, что этот флаг ограничивает только языковые функции, доступные для
программист. Вариантом выпускаемых сборок можно управлять с помощью SDK опцию.

-lib: СПИСОК ПУТИ
Каждый путь, указанный в списке, разделенном запятыми, заставит компилятор искать
для библиотек по указанному пути.

-L PATH
Указывает компилятору искать библиотеки по указанному пути. Несколько путей
может быть предоставлен с помощью многократного использования опции.

-основной: КЛАСС
Сообщает компилятору, какой КЛАСС содержит точку входа. Полезно, когда ты
компиляция нескольких классов с помощью метода Main.

-ностдлиб, -nostdlib +
Используйте этот флаг, если хотите скомпилировать основную библиотеку. Это делает компилятор
загрузить его внутренние типы из компилируемой сборки.

-ноконфиг, -noconfig +
Отключает загрузку конфигурации компилятора по умолчанию. Компилятор по умолчанию
имеет ссылки на системные сборки.

-nowarn: СПИСОК ПРЕДУПРЕЖДЕНИЙ
Заставляет компилятор игнорировать предупреждения, указанные в списке, разделенном запятыми WARNLIST>

-оптимизировать, -оптимизировать +, -оптимизировать-
Управляет оптимизацией генерации кода компилятора в коде. Использование -optimize или
-optimize + включит оптимизацию, -optimize- выключит. По умолчанию в
mcs - это оптимизировать -. Этот параметр можно использовать вместе с -debug, но для лучшей отладки
опыт рекомендуется оставить параметры отключенными.

-out: FNAME, -o ФИМЯ
Называет выходной файл, который будет сгенерирован.

--parse
Используется для сравнительного анализа. Компилятор будет анализировать только свои входные файлы.

-pkg: package1 [, packageN]
Эталонные сборки для данных пакетов.

Компилятор вызовет pkg-config --libs для набора пакетов, указанных в
командная строка для получения библиотек и каталогов для компиляции кода.

Обычно это используется со сторонними компонентами, например:

$ mcs -pkg: gtk-sharp demo.cs

-pkg: dotnet
Это проинструктирует компилятор ссылаться на библиотеки System. *
доступный в типичной установке инфраструктуры dotnet, обратите внимание, что это делает
не включать все библиотеки Mono, только библиотеки System. *. Это
удобный ярлык для тех, кто переносит код.

-платформа: ARCH
Используется для указания целевой платформы. Возможные значения: anycpu,
anycpu32bitpreferred, arm, x86, x64 или itanium. Параметр по умолчанию - anycpu.

-resource: RESOURCE [, ID]
Встраивается в указанный файл ресурсов. Необязательный идентификатор можно использовать для указания другого
имя ресурса. Если не указано, имя ресурса будет именем файла.

-linkresource: RESOURCE [, ID]
Ссылки на указанный РЕСУРС. Необязательный идентификатор можно использовать для присвоения имени
связанный ресурс.

-r: СБОРКА1 [, СБОРКА2], -ссылка СБОРКА1 [, СБОРКА2]
Ссылка на именованные сборки. Используйте это, чтобы использовать классы из названной сборки в
ваша программа. Сборка будет загружена из системного каталога, в который
все сборки живут или по пути, явно указанному с параметром -L.

Вы также можете использовать точку с запятой для разделения сборок вместо запятой.

-reference: ALIAS = СБОРКА
Поддержка внешних псевдонимов для C #.

Если у вас есть разные сборки, которые предоставляют одинаковые типы, псевдоним extern
поддержка позволяет вам указывать имена, которые ваше программное обеспечение может использовать, чтобы сообщить этим
аппарт. Типы из ASSEMBLY будут отображаться как ALIAS, а затем в исходном коде C #
код, вам нужно сделать:

внешний псевдоним ALIAS;
Чтобы перенести это в ваше пространство имен. Например, чтобы справиться с двумя графическими библиотеками
которые определяют "Graphics.Point", один в "OpenGL.dll" и один в "Postscript.dll", вы
вызовет компилятор следующим образом:

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

И в исходном коде вы должны написать:

внешний псевдоним Postscript;
внешний псевдоним OpenGL;

класс Х {
// Это Graphics.Point из Postscrip.dll
Postscript.Point p = новый Postscript.Point ();

// Это Graphics.Point из OpenGL.dll
OpenGL.Point p = новый OpenGL.Point ();
}

-рекурс: ШАБЛОН, - рекурсивный ШАБЛОН
Выполняет рекурсивную компиляцию с использованием указанного шаблона. В Unix оболочка будет
выполните подстановку, поэтому вы можете использовать его так:

$ mcs -recurse: '*. cs'

-sdk: ВЕРСИЯ
Используется для указания версии сборок библиотеки базовых классов, используемых для компиляции.
Допустимы следующие предопределенные значения: 2, 4 (по умолчанию), а также любое настраиваемое значение.
Предопределенный номер версии означает, какое пользовательское значение указано, mcs будет пытаться
найдите библиотеки базовых классов в моно установленном месте PREFIX / lib / mono / .

--оболочка
Запускает компилятор в интерактивном режиме, предоставляя оболочку C # для операторов и
выражения. Ярлык - использовать острый командовать напрямую.

--трассировки стека
Создает трассировку стека в момент сообщения об ошибке, полезно для отладки
компилятор.

-целевой: ВИД, -t: ВИД
Используется для указания желаемой цели. Возможные значения: exe (plain
исполняемый файл), winexe (исполняемый файл Windows.Forms), library (библиотеки компонентов) и
модуль (частичная библиотека).

- отметка времени
Еще один флаг отладки. Используется для отображения времени в различных точках
процесс компиляции.

- небезопасно, -безопасно +
Включает компиляцию небезопасного кода.

-v Отладка. Включает подробный анализ yacc.

--версия
Показывает версию компилятора.

-предупреждениеошибка, -warnaserror +
Все предупреждения компилятора будут отображаться как ошибки.

-warnaserror: W1, [Wn], -warnaserror +: W1, [Wn]
Считает одно или несколько предупреждений компилятора ошибками.

-warnaserror-: W1, [Wn]
Устанавливает одно или несколько предупреждений компилятора, которые всегда будут обрабатываться как предупреждения. Становится
полезно при использовании вместе с -warnaserror.

-warn: УРОВЕНЬ
Устанавливает уровень предупреждения. 0 - самый низкий уровень предупреждения, а 4 - самый высокий. В
по умолчанию - 4.

-win32res: ФАЙЛ
Задает файл ресурсов Win32 (.res), который будет объединен в результирующую сборку.

-win32icon: ФАЙЛ
Добавляет значок, указанный в FILE на выходе, в результирующую сборку.

-- Используйте это, чтобы остановить синтаксический анализ опций и разрешить передачу параметров, определяющих опцию.
в командной строке.

Пакеты И БИБЛИОТЕКИ


При ссылке на сборку, если имя сборки является путем, компилятор попытается
для загрузки сборки, указанной в пути. В противном случае компилятор попытается
загрузка сборки из текущего каталога, базового каталога компилятора и, если
сборка не найдена ни в одном из этих мест в каталогах, указанных в качестве аргументов для
-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.

Поставщики программного обеспечения будут распространять программное обеспечение, установленное относительно БАЗЫ ПАКЕТОВ.
каталог. Это интегрировано в гакутил инструмент, который не только устанавливает общедоступные
сборки в глобальный кэш сборок (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:, либо путем ссылки на
библиотеки напрямую.

SPECIAL ОПРЕДЕЛЯЕТ


Ассоциация СЛЕД и ОТЛАЖИВАТЬ Определения имеют особое значение для компилятора.

По умолчанию вызовы методов и свойств в классе System.Diagnostics.Trace не выполняются.
генерируется, если символ TRACE не определен (либо через "#define TRACE") в вашем
исходный код, или используя --определять СЛЕД в командной строке.

По умолчанию вызовы методов и свойств в классе System.Diagnostics.Debug не выполняются.
генерируется, если символ DEBUG не определен (либо через "#define DEBUG") в вашем
исходный код, или используя --определять ОТЛАЖИВАТЬ в командной строке.

Обратите внимание, что эффект определения TRACE и DEBUG является глобальным параметром, даже если они
определяется только в одном файле.

ОТЛАДКА ПОДДЕРЖКИ


При использовании флага «-debug» MCS сгенерирует файл с расширением .mdb, который
содержит отладочную информацию для созданной сборки. Этот файл используется
отладчик Mono (mdb).

ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ


MCS_COLORS
Если эта переменная установлена, она содержит строку вида «передний план, фон»
который указывает, какой цвет использовать для отображения ошибок на некоторых терминалах.

Фон является необязательным и по умолчанию соответствует текущему фону вашего терминала. В
возможные цвета для переднего плана: черный, rouge, ярко-красный, зеленый, ярко зеленый,
желтый, ярко-желтый, синий, ярко-синий, пурпурный, ярко-пурпурный, голубой, ярко-голубой,
серый, белый и ярко-белый.

Возможные цвета для фона: черный, красный, зеленый, желтый, синий, пурпурный,
голубой, серый и белый.

Например, вы можете установить эту переменную из своей оболочки:
экспорт MCS_COLORS
MCS_COLORS = errors = ярко-белый, красный

Вы можете отключить встроенную цветовую схему, установив для этой переменной значение «disable».

ПРИМЕЧАНИЯ


Во время компиляции компилятор MCS определяет символ __MonoCS__, он может использоваться
инструкции препроцессора для компиляции кода, специфичного для компилятора Mono C #. Обратите внимание, что
этот символ предназначен только для проверки компилятора и бесполезен для различения компиляции
или платформы развертывания.

АВТОРЫ


Компилятор Mono C # был написан Мигелем де Икаса, Рави Пратапом, Мартином Баулигом, Мареком.
Сафар и Раджа Харинатх. Разработку финансировали Ксимиан, Novell и Марек Сафар.

Используйте dmcs онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad