영어프랑스어스페인어

Ad


온웍스 파비콘

dmcs - 클라우드 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 dmcs를 실행하세요.

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 dmcs 명령입니다.

프로그램:

이름


mcs - 모노 C# 컴파일러

개요


엠씨 [옵션] [소스 파일]

기술


mcs는 ECMA-334 언어 사양의 구현인 Mono C# 컴파일러입니다.
컴파일러와 소스 파일 세트를 구동하기 위한 하나 이상의 옵션을 전달할 수 있습니다. 추가의
옵션이나 인수는 응답 파일에 제공될 수 있습니다. 응답 파일은 다음에 의해 참조됩니다.
@ 기호를 응답 파일 이름 앞에 추가합니다.

XNUMXD덴탈의 엠씨 컴파일러는 최신 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# 컴파일러는 다음을 수행할 수 있는 CIL 바이트 코드가 포함된 이미지(.exe 파일)를 생성합니다.
Common Language Infrastructure 가상 머신을 구현하는 모든 시스템에서 실행
Windows의 Microsoft .NET 런타임 엔진 또는 Unix의 Mono 런타임 엔진과 같은
시스템. 실행 파일은 특정 CPU 또는 운영 체제에 바인딩되지 않습니다.

Mono C# 컴파일러는 기본적으로 mscorlib.dll, System.dll의 세 가지 어셈블리만 참조합니다.
및 System.Xml.dll. 추가 라이브러리를 참조하려면 수동으로 지정해야 합니다.
-pkg: 명령줄 옵션 또는 -r: 명령줄 옵션을 사용합니다. 또는 다음과 같은 경우
모든 시스템 라이브러리를 얻으려면 -pkg:dotnet 명령줄을 사용할 수 있습니다.
옵션을 선택합니다.

옵션


--에 대한
Mono C# 컴파일러에 대한 정보를 표시합니다.

--추가모듈:MODULE1[,MODULE2]
결과 어셈블리에 지정된 모듈을 포함합니다. 모듈은 다음에 의해 생성됩니다.
-target:module 옵션을 사용하여 컴파일러 호출

- 체크, -체크+
기본 컴파일 모드를 'checked'로 설정합니다. 이것은 모든 수학 연산을
선택됨(기본값은 선택되지 않음).

-체크-
기본 컴파일 모드를 '선택되지 않음'으로 설정합니다. 이것은 모든 수학을
작업이 선택되지 않음(기본값).

-clscheck-, -clscheck+
CLS(공용 언어 사양) 검사를 비활성화하거나 활성화합니다(활성화
기본적으로).

CLS(공용 언어 사양)는 상호 운용 가능한 형식 하위 집합을 다음과 같이 정의합니다.
컴파일러(CLS 생산자)와 개발자가 따라야 하는 규칙
다른 프로그래밍 언어(CLS 소비자)에 코드를 노출합니다.

-코드 페이지:ID
현재 시점부터 입력 파일을 처리하는 데 사용되는 코드 페이지를 지정합니다.
에 지정됨. 기본적으로 파일은 환경에 따라 처리됩니다.
네이티브 코드 페이지. 컴파일러는 또한 자동으로 다음과 같은 유니코드 파일을 감지합니다.
시작 부분에 포함된 바이트 표시가 있습니다.

다른 인기 있는 인코딩은 28591(Latin1), 1252(iso-8859-1) 및 65001(UTF-8)입니다.

MCS는 몇 가지 약칭을 지원합니다. "utf8"은 utf-8 대신 utf-XNUMX을 지정하는 데 사용할 수 있습니다.
암호 65001 및 "재설정"을 사용하면 코드 페이지의 자동 처리가 복원됩니다.
이러한 속기는 Microsoft 컴파일러에서 사용할 수 없습니다.

-정의:SYMLIST, -d:SYMLIST
세미콜론으로 구분된 목록 SYMLIST SYMBOL로 나열된 기호를 정의합니다. 이것
전처리기에 의해 소스 코드에서 테스트될 수 있거나 메소드에 의해 사용될 수 있음
Conditional 속성으로 태그가 지정된 것입니다.

-디버그, -디버그+
디버깅 정보를 생성합니다. 디버깅 정보가 포함된 스택 추적을 얻으려면
`--debug' 플래그를 사용하여 모노 런타임을 호출해야 합니다. 디버깅
정보는 생성된 것과 동일한 출력 폴더에 있는 MDB 파일에 저장됩니다.
어셈블리.

-디버그-
디버깅 정보를 생성하지 마십시오.

-지연 표시+
강력한 이름의 공개 키만 어셈블리에 포함하십시오. 실제 서명은 다음과 같아야 합니다.
SN 도구를 사용하여 나중 단계에서 수행됩니다. 개인 키를 보호하는 데 유용합니다.
개발 중. 지연 서명은 강력한 이름 키를 통해서만 수행할 수 있습니다.
파일(키 컨테이너 아님). 옵션은 [어셈블리:
AssemblyDelaySign(true)]을 소스 코드에 추가합니다. 컴파일러 옵션이 우선합니다.
속성 이상.

-지연-
기본. 강력한 이름 키 파일(또는
컨테이너). 옵션은 [어셈블리: AssemblyDelaySign을 포함하는 것과 같습니다.
(거짓)] 소스 코드에서. 컴파일러 옵션이 속성보다 우선합니다.

-doc:파일
소스 코드에서 C#/XML 문서를 추출하고 지정된 파일에 저장합니다.
파일.

-오류 보고
이 플래그는 Mono의 C# 컴파일러에서 무시되며 MCS가
msbuild/xbuild의 CSC 대체품으로 사용됩니다.

--치명적인
이것은 컴파일러 디버깅에 사용됩니다. 이것은 오류 방출을 생성합니다.
디버거에서 잡을 수 있는 예외입니다.

-파일정렬
이 플래그는 Mono의 C# 컴파일러에서 무시되며 MCS가
msbuild/xbuild의 CSC 대체품으로 사용됩니다.

-전체 경로
컴파일러에서 발행한 모든 소스 코드 오류 또는 경고에는 다음과 같은 파일 이름만 포함됩니다.
기본. 이 옵션을 사용하면 컴파일러가 대신 절대 파일 경로를 발행합니다.

-키파일:KEYFILE
Strongname(기호) 지정된 키 쌍을 사용하여 출력 어셈블리
강력한 이름 키 파일(snk). 기본적으로 전체 키 쌍이 필요합니다(또는
지연 기호-). 공개 키만 포함하는 파일은 delaysign+와 함께 사용할 수 있습니다. NS
옵션은 [어셈블리: AssemblyKeyFile("KEYFILE")]을 포함하는 것과 같습니다.
소스 코드. 컴파일러 옵션이 속성보다 우선합니다.

-keycontainer:컨테이너
Strongname(기호) 지정된 키 쌍을 사용하여 출력 어셈블리
컨테이너. 키 컨테이너를 사용할 때 delaysign+는 무시됩니다. 옵션은
소스에 [어셈블리: AssemblyKeyName("CONTAINER")]을 포함하는 것과 같습니다.
암호. 컴파일러 옵션이 속성보다 우선합니다.

-langversion:텍스트
이 옵션은 사용할 언어의 버전을 지정합니다. 기능 세트는
C# 버전마다 다릅니다. 이 스위치는 컴파일러가 강제로
기능의 하위 집합만 허용합니다. 가능한 값은 다음과 같습니다.

태만
최신 버전을 사용하도록 컴파일러에 지시합니다. 동일한 것은 생략하는 것입니다
스위치(현재 기본값은 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
지정된 경로에서 라이브러리를 찾도록 컴파일러에 지시합니다. 다중 경로
옵션을 여러 번 사용하여 제공할 수 있습니다.

-메인:클래스
진입점을 포함하는 CLASS를 컴파일러에 알립니다. 유용할 때
Main 메서드를 사용하여 여러 클래스를 컴파일합니다.

-nostdlib, -nostdlib+
핵심 라이브러리를 컴파일하려면 이 플래그를 사용하십시오. 이것은 컴파일러를
컴파일 중인 어셈블리에서 내부 유형을 로드합니다.

- 설정 없음, -구성 없음+
로드할 기본 컴파일러 구성을 비활성화합니다. 컴파일러는 기본적으로
시스템 어셈블리에 대한 참조가 있습니다.

-nowarn:경고 목록
컴파일러가 쉼표로 구분된 목록에 지정된 경고를 무시하도록 합니다. WARNLIST>

-최적화, -최적화+, -최적화-
코드에 대한 컴파일러 코드 생성 최적화를 제어합니다. -optimize 또는
-optimize+는 최적화를 켜고 -optimize-는 끕니다. 기본
mcs는 최적화하는 것입니다. 옵션은 -debug와 혼합될 수 있지만 최상의 디버깅을 위해
옵션을 꺼두는 것이 좋습니다.

-아웃:FNAME, -o FNAME
생성할 출력 파일의 이름을 지정합니다.

--파싱
벤치마킹에 사용됩니다. 컴파일러는 입력 파일만 구문 분석합니다.

-pkg:패키지1[,패키지N]
지정된 패키지에 대한 참조 어셈블리입니다.

컴파일러는 지정된 패키지 세트에서 pkg-config --libs를 호출합니다.
코드를 컴파일하기 위한 라이브러리와 디렉토리를 얻기 위한 명령줄.

이것은 일반적으로 다음과 같은 타사 구성 요소와 함께 사용됩니다.

$ mcs -pkg:gtk-sharp 데모.cs

-pkg:닷넷
이것은 컴파일러가 System.* 라이브러리를 참조하도록 지시합니다.
일반적인 dotnet 프레임워크 설치에서 사용할 수 있습니다.
모든 Mono 라이브러리를 포함하지 않고 System.* 라이브러리만 포함합니다. 이것은
이러한 이식 코드에 대한 편리한 바로 가기입니다.

-플랫폼:ARCH
대상 플랫폼을 지정하는 데 사용됩니다. 가능한 값은 다음과 같습니다.
anycpu32bitpreferred, arm, x86, x64 또는 Itanium. 기본 옵션은 anycpu입니다.

-리소스:RESOURCE[,ID]
지정된 리소스 파일에 포함합니다. 선택적 ID를 사용하여 다른
리소스에 이름을 지정합니다. 지정하지 않으면 리소스 이름이 파일 이름이 됩니다.

-링크자원:자원[,ID]
지정된 RESOURCE에 대한 링크입니다. 선택적 ID를 사용하여 이름을 지정할 수 있습니다.
연결된 리소스.

-r:어셈블리1[,어셈블리2], -참고 어셈블리1[, 어셈블리2]
명명된 어셈블리를 참조하십시오. 명명된 어셈블리의 클래스를 사용하려면 이것을 사용하십시오.
당신의 프로그램. 어셈블리는 시스템 디렉토리에서 로드됩니다.
모든 어셈블리가 라이브이거나 -L 옵션으로 명시적으로 지정된 경로에서 시작됩니다.

쉼표 대신 세미콜론을 사용하여 어셈블리를 구분할 수도 있습니다.

-참조:ALIAS=어셈블리
C#에 대한 외부 별칭 참조 지원.

동일한 유형을 제공하는 다른 어셈블리가 있는 경우 extern 별칭
지원을 통해 소프트웨어가 이러한 이름을 알려주는 데 사용할 수 있는 이름을 제공할 수 있습니다.
떨어져. ASSEMBLY의 유형은 ALIAS로 노출된 다음 C# 소스에 노출됩니다.
코드를 작성하려면 다음을 수행해야 합니다.

외부 별칭 ALIAS;
네임스페이스로 가져오기 위해. 예를 들어, 두 개의 그래픽 라이브러리에 대처하려면
"OpenGL.dll"에 하나, "Postscript.dll"에 하나, "Graphics.Point"를 정의하는
다음과 같이 컴파일러를 호출합니다.

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

그리고 소스 코드에서 다음과 같이 작성합니다.

외부 별칭 포스트스크립트;
외부 별칭 OpenGL;

클래스 X {
// Postscrip.dll의 Graphics.Point입니다.
Postscript.Point p = 새로운 Postscript.Point();

// 이것은 OpenGL.dll의 Graphics.Point입니다.
OpenGL.Point p = 새로운 OpenGL.Point();
}

-재귀:패턴, --재귀 무늬
지정된 패턴을 사용하여 재귀 컴파일을 수행합니다. 유닉스에서 쉘은
글로빙을 수행하므로 다음과 같이 사용할 수 있습니다.

$ mcs -recurse:'*.cs'

-sdk:버전
컴파일에 사용되는 기본 클래스 라이브러리 어셈블리의 버전을 지정하는 데 사용됩니다.
2, 4(기본값) 및 모든 사용자 정의 값과 같은 사전 정의된 값이 유효합니다.
미리 정의된 버전 번호는 mcs가 시도할 사용자 지정 값을 의미합니다.
모노 설치 위치 PREFIX/lib/mono/에서 기본 클래스 라이브러리 찾기 .

--껍질
명령문에 대한 C# 셸을 제공하고 대화형 모드에서 컴파일러를 시작합니다.
표현. 단축키는 날카로운 직접 명령합니다.

--스택 추적
오류가 보고될 때 스택 추적을 생성하여 디버깅에 유용합니다.
컴파일러.

-대상:종류, -t:종류
원하는 대상을 지정하는 데 사용됩니다. 가능한 값은 다음과 같습니다. exe(일반
실행 가능), winexe(Windows.Forms 실행 가능), 라이브러리(구성 요소 라이브러리) 및
모듈(부분 라이브러리).

--타임스탬프
또 다른 디버깅 플래그입니다. 다양한 지점의 시간을 표시하는 데 사용됩니다.
컴파일 과정.

-위험한, -안전하지 않은+
안전하지 않은 코드의 컴파일을 활성화합니다.

-v 디버깅. 자세한 yacc 구문 분석을 켭니다.

--번역
컴파일러 버전을 표시합니다.

-경고 오류, -경고오류+
모든 컴파일러 경고는 오류로 보고됩니다.

-warnaserror:W1,[Wn], -warnaserror+:W1,[Wn]
하나 이상의 컴파일러 경고를 오류로 처리합니다.

-warnaserror-:W1,[Wn]
하나 이상의 컴파일러 경고를 항상 경고로 위협하도록 설정합니다. 된다
-warnaserror와 함께 사용할 때 유용합니다.

-경고:레벨
경고 수준을 설정합니다. 0은 가장 낮은 경고 수준이고 4는 가장 높은 수준입니다. NS
기본값은 4입니다.

-win32res:파일
결과 어셈블리에 번들로 포함할 Win32 리소스 파일(.res)을 지정합니다.

-win32icon:파일
결과 어셈블리에 출력의 FILE에 지정된 아이콘을 연결합니다.

-- 이것을 사용하여 옵션 구문 분석을 중지하고 옵션으로 보이는 매개변수가 전달되도록 허용합니다.
명령 행에서.

패키지 라이브러리


어셈블리를 참조할 때 어셈블리 이름이 경로이면 컴파일러는 다음을 시도합니다.
경로에 지정된 어셈블리를 로드합니다. 그렇지 않은 경우 컴파일러는 다음을 시도합니다.
현재 디렉터리, 컴파일러 기본 디렉터리에서 어셈블리를 로드하는 경우
에 대한 인수로 지정된 디렉토리의 해당 위치에서 어셈블리를 찾을 수 없습니다.
-lib: 명령 인수.

컴파일러는 라이브러리 경로를 사용하여 라이브러리를 찾고 라이브러리를 참조할 수 있습니다.
해당 디렉토리가 사용되는 경우 특정 패키지에서. 패키지 사용을 단순화하기 위해
C# 컴파일러에는 특정 로드에 사용되는 -pkg: 명령줄 옵션이 포함되어 있습니다.
도서관 컬렉션.

컴파일러에서 볼 수 있는 라이브러리는 아래의 설치 접두사를 기준으로 저장됩니다.
PACKAGEBASE라고 하는 PREFIX/lib/mono/ 및 mcs, gmcs 및 smcs의 기본값은 다음과 같습니다.
다음과 같습니다 :

엠씨 PACKAGEBASE/1.0 디렉토리를 참조합니다.

GMCS PACKAGEBASE/2.0 디렉토리를 참조합니다.

smcs PACKAGEBASE/2.1 디렉토리를 참조합니다.

존재하는 유일한 런타임 프로필입니다. 다른 디렉토리가 존재하지만(예:
3.0 및 3.5) 이는 실제로 런타임 프로필이 아니며 추가 기능을 위한 자리 표시자일 뿐입니다.
2.0 기반에 구축된 라이브러리.

소프트웨어 공급자는 PACKAGEBASE와 관련하여 설치된 소프트웨어를 배포합니다.
예배 규칙서. 이것은 통합 가쿠틸 공용 설치뿐만 아니라 도구
어셈블리를 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: 호출을 사용하거나 다음을 참조하여 수동으로 참조
직접 라이브러리.

스페셜 정의하다


XNUMXD덴탈의 자취DEBUG 정의는 컴파일러에 특별한 의미를 갖습니다.

기본적으로 System.Diagnostics.Trace 클래스의 메서드 및 속성에 대한 호출은
TRACE 기호가 "#define TRACE"를 통해 정의되지 않는 한 생성됩니다.
소스 코드를 사용하거나 --정의하다 자취 명령 줄에서.

기본적으로 System.Diagnostics.Debug 클래스의 메서드 및 속성에 대한 호출은
DEBUG 기호가 "#define DEBUG"를 통해 정의되지 않는 한 생성됩니다.
소스 코드를 사용하거나 --정의하다 DEBUG 명령 줄에서.

TRACE 및 DEBUG 정의의 효과는 전역 설정입니다.
단일 파일에서만 정의됩니다.

디버깅 고객지원


"-debug" 플래그를 사용할 때 MCS는 확장자가 .mdb인 파일을 생성합니다.
생성된 어셈블리에 대한 디버깅 정보를 포함합니다. 이 파일은 다음에서 사용됩니다.
모노 디버거(mdb).

환경 변수


MCS_COLORS
이 변수가 설정되면 "foreground,background" 형식의 문자열이 포함됩니다.
일부 터미널에서 오류를 표시하는 데 사용할 색상을 지정합니다.

배경은 선택 사항이며 기본적으로 터미널의 현재 배경입니다. NS
가능한 전경색은 다음과 같습니다. 블랙, 빨간색, 밝은 빨간색, 녹색, 밝은 녹색,
노랑, 밝은 노랑, 블루, brightblue, 마젠타, brightmagenta, 시안, brightcyan,
회색, 흰색 및 밝은 흰색.

가능한 배경 색상은 검정, 빨강, 녹색, 노랑, 파랑, 자홍,
청록색, 회색 및 흰색.

예를 들어, 쉘에서 다음 변수를 설정할 수 있습니다.
MCS_COLORS 내보내기
MCS_COLORS=오류=밝은 흰색, 빨간색

이 변수를 "disable"로 설정하여 내장 색 구성표를 비활성화할 수 있습니다.

노트


컴파일하는 동안 MCS 컴파일러는 __MonoCS__ 기호를 정의합니다. 이것은 다음에서 사용할 수 있습니다.
Mono C# 컴파일러 특정 코드를 컴파일하기 위한 전처리기 명령. 점에 유의하시기 바랍니다
이 기호는 컴파일러를 테스트하기 위한 것이며 컴파일을 구별하는 데 유용하지 않습니다.
또는 배포 플랫폼.

작가


Mono C# 컴파일러는 Miguel de Icaza, Ravi Pratap, Martin Baulig, Marek이 작성했습니다.
사파르와 라자 하리나트. 개발은 Ximian, Novell 및 Marek Safar가 자금을 지원했습니다.

onworks.net 서비스를 사용하여 온라인에서 dmcs 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad