다음을 통해 공유


컴파일러 옵션(F#)

이 항목에서는 F# 컴파일러인 fsc.exe의 컴파일러 명령줄 옵션을 설명합니다. 프로젝트 속성을 설정하여 컴파일 환경을 제어할 수도 있습니다.

컴파일러 옵션 사전순 목록

다음 표에는 컴파일러 옵션이 사전순으로 나와 있습니다. F# 컴파일러 옵션 중 일부는 C# 컴파일러 옵션과 비슷합니다. 이 경우 C# 컴파일러 옵션 항목으로 연결되는 링크가 제공됩니다.

컴파일러 옵션

설명

-a <output-filename>

라이브러리를 생성하고 해당 파일 이름을 지정하는 데 사용됩니다. 이 옵션은 --target:library <filename>의 약식 표현입니다.

--baseaddress:<string>

빌드할 라이브러리의 기준 주소를 지정하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /baseaddress(C# 컴파일러 옵션)를 참조하십시오.

--codepage:<int>

소스 파일을 읽는 데 사용할 코드 페이지를 지정하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /codepage(C# 컴파일러 옵션)를 참조하십시오.

--crossoptimize[+|-]

크로스 모듈 최적화를 사용하거나 사용하지 않도록 설정합니다.

--delaysign[+|-]

강력한 이름 키의 공용 부분만 사용하여 어셈블리 서명을 연기하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /delaysign(C# 컴파일러 옵션)을 참조하십시오.

--checked[+|-]

오버플로 검사를 수행하거나 수행하지 않는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /checked(C# 컴파일러 옵션)를 참조하십시오.

--debug[+|-]

-g[+|-]

--debug:[full|pdbonly]

-g: [full|pdbonly]

디버깅 정보를 생성하거나 생성하지 않는 데 사용되고, 생성할 디버그 정보의 형식을 지정하는 데도 사용됩니다. 기본값은 실행 프로그램에 대한 연결을 허용하는 full입니다. pdbonly를 선택하면 pdb(프로그램 데이터베이스) 파일에 저장되어 있는 제한된 디버깅 정보를 가져올 수 있습니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 다음을 참조하십시오.

/debug(C# 컴파일러 옵션).

--define:<string>

-d:<string>

조건부 컴파일에 사용할 기호를 정의하는 데 사용됩니다.

--doc:<xmldoc-filename>

지정된 파일을 대상으로 XML 문서 주석을 생성하도록 컴파일러에 지시를 내리는 데 사용됩니다. 자세한 내용은 XML 문서(F#)를 참조하십시오.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /doc(C# 컴파일러 옵션)를 참조하십시오.

--fullpaths

정규화된 경로를 생성하도록 컴파일러에 지시를 내리는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /fullpaths(C# 컴파일러 옵션)를 참조하십시오.

--help

-?

모든 컴파일러 옵션에 대한 간략한 설명을 포함하여 사용 방법 정보를 표시하는 데 사용됩니다.

--keycontainer:<string>

강력한 이름 키 컨테이너를 지정하는 데 사용됩니다.

--keyfile:<filename>

생성된 어셈블리의 서명에 사용할 공용 키 파일의 이름을 지정하는 데 사용됩니다.

--lib:<folder-name>

-I:<folder-name>

참조 대상인 어셈블리의 검색 범위로 삼을 디렉터리를 지정하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /lib(C# 컴파일러 옵션)를 참조하십시오.

--linkresource:<resource-info>

지정된 리소스를 어셈블리에 연결하는 데 사용됩니다. resource-info의 형식은 다음과 같습니다. filename[,name[,public |private]]

--resource 옵션을 사용하여 전체 리소스 파일을 포함하는 대신 이 옵션을 사용하여 단일 리소스를 연결할 수 있습니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /linkresource(C# 컴파일러 옵션)를 참조하십시오.

--mlcompatibility

다른 버전의 ML과 호환성을 유지하기 위해 설계된 기능을 사용할 때 나타나는 경고를 무시하는 데 사용됩니다.

--noframework

.NET Framework 어셈블리에 대한 기본 참조를 비활성화하는 데 사용됩니다.

--nointerfacedata

F# 전용 메타데이터를 포함하는 어셈블리에 일반적으로 추가되는 리소스를 생략하도록 컴파일러에 지시를 내리는 데 사용됩니다.

--nologo

컴파일러를 시작할 때 배너 텍스트를 표시하지 않습니다.

--nooptimizationdata

인라인 구문을 구현하는 데 필요한 최적화만 포함하도록 컴파일러에 지시를 내리는 데 사용됩니다. 크로스 모듈 인라인을 상속하지만 이진 호환성이 더 뛰어납니다.

--nowin32manifest

기본 Win32 매니페스트를 생략하도록 컴파일러에 지시를 내리는 데 사용됩니다.

--nowarn:<int-list>

번호로 지정한 특정 경고를 비활성화합니다. 각 경고 번호는 쉼표로 구분합니다. 컴파일 출력을 보면 모든 경고에 대한 경고 번호를 확인할 수 있습니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /nowarn(C# 컴파일러 옵션)을 참조하십시오.

--optimize[+|-] [<string-list>]

-O[+|-] [<string-list>]

최적화를 사용하거나 사용하지 않도록 지정합니다. 일부 최적화 옵션을 나열하여 해당 옵션을 선별적으로 사용하거나 사용하지 않을 수 있습니다. 여기에 해당하는 옵션은 nojitoptimize, nojittracking, nolocaloptimize, nocrossoptimize, notailcalls입니다.

--out:<output-filename>

-o:<output-filename>

컴파일된 어셈블리 또는 모듈의 이름을 지정하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /out(C# 컴파일러 옵션)을 참조하십시오.

--pdb:<pdb-filename>

출력 디버그 PDB(프로그램 데이터베이스) 파일의 이름을 지정합니다. 이 옵션은 --debug를 함께 사용하는 경우에만 적용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /pdb(C# 컴파일러 옵션)를 참조하십시오.

--platform:<platform-name>

생성된 코드가 지정된 플랫폼(x86, Itanium 또는 x64)에서만 실행되도록 지정하거나, platform-name으로 anycpu를 선택한 경우 생성된 코드가 플랫폼에 상관없이 실행되도록 지정하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /platform(C# 컴파일러 옵션)을 참조하십시오.

--reference:<assembly-filename>

-r <assembly-filename>

컴파일할 코드에 F# 또는 .NET 어셈블리의 코드를 사용할 수 있도록 하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /reference(C# 컴파일러 옵션)를 참조하십시오.

--resource:<resource-filename>

관리되는 리소스 파일을 생성된 어셈블리에 포함하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /resource(C# 컴파일러 옵션)를 참조하십시오.

--sig:<signature-filename>

생성된 어셈블리를 기반으로 시그니처 파일을 생성하는 데 사용됩니다. 시그니처 파일에 대한 자세한 내용은 서명(F#)를 참조하십시오.

--simpleresolution

MSBuild 확인 대신 디렉터리 기반의 Mono 규칙을 사용하여 어셈블리 참조를 확인하도록 지정하는 데 사용됩니다. Mono를 사용하여 실행되는 경우를 제외하고는 MSBuild 확인을 사용하도록 기본 설정되어 있습니다.

--standalone

컴파일하려는 코드에 필요한 모든 참조 대상 DLL 및 F# 라이브러리를 생성되는 어셈블리에 정적으로 연결하도록 지정합니다.

--staticlink:<assembly-name>

지정된 어셈블리 및 이 어셈블리를 필요로 하는 모든 참조 대상 DLL을 정적으로 연결하는 데 사용됩니다. 여기서는 DLL 이름이 아니라 어셈블리 이름을 사용해야 합니다.

--tailcalls[+|-]

테일 IL 명령을 사용하거나 사용하지 않도록 지정합니다. 이 명령을 사용하면 테일 재귀 함수에 대해 스택 프레임을 다시 사용할 수 있습니다. 이 옵션은 기본 옵션입니다.

--target:[exe | winexe | library | module ] <output-filename>

생성 후 컴파일되는 코드의 형식과 파일 이름을 지정하는 데 사용됩니다.

  • exe는 콘솔 응용 프로그램을 의미합니다.

  • winexe는 Windows 응용 프로그램을 의미합니다. Windows 응용 프로그램은 표준 입력/출력 스트림(stdin, stdout 및 stderr)이 정의되지 않는다는 점에서 콘솔 응용 프로그램과 차이가 있습니다.

  • library는 진입점이 없는 어셈블리입니다.

  • module은 .NET 모듈(. netmodule)입니다. 나중에 이 모듈을 다른 모듈과 함께 어셈블리로 결합할 수 있습니다.

  • 이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /target(C# 컴파일러 옵션)을 참조하십시오.

--times

컴파일의 타이밍 정보를 표시합니다.

--utf8output

컴파일러 출력을 UTF-8 인코딩 형식으로 인쇄할 수 있도록 하는 데 사용됩니다.

--warn:<warning-level>

경고 수준(0-4)을 설정합니다. 각 경고에는 그 심각도에 따라 경고 수준이 부여됩니다. 수준 4에서는 수준 0보다 더 많은 경고가 표시되지만 수준 4의 심각도는 수준 0보다 덜합니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /warn(C# 컴파일러 옵션)을 참조하십시오.

--warnaserror[+|-] [<int-list>]

경고를 오류로 보고하는 옵션을 사용하거나 사용하지 않도록 지정합니다. 사용하거나 사용하지 않을 특정 경고 번호를 지정할 수 있습니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /warnaserror(C# 컴파일러 옵션)를 참조하십시오.

--win32res:resource-filename

컴파일에 Win32 리소스 파일을 추가하는 데 사용됩니다.

이 컴파일러 옵션은 이름이 같은 C# 컴파일러 옵션과 동일합니다. 자세한 내용은 /win32res(C# 컴파일러 옵션)를 참조하십시오.

관련 항목

제목

설명

F# Interactive 옵션

F# 해석기(fsi.exe)에서 지원하는 명령줄 옵션을 설명합니다.

프로젝트, 사용자 인터페이스 요소

빌드 옵션을 제공하는 프로젝트 속성 페이지를 포함하여 프로젝트 관련 UI를 설명합니다.