다음을 통해 공유


링커 속성 페이지

다음 속성은 프로젝트>속성>구성 속성>링커에 있습니다. 링커에 대한 자세한 내용은 CL에서 링커 호출링커 옵션을 참조하세요.

일반 속성 페이지

출력 파일

/OUT 옵션은 링커가 만드는 프로그램의 기본 이름 및 위치를 재정의합니다.

진행률 표시

링커 진행 메시지를 출력합니다.

Choices

  • 설정되지 않음 - 세부 정보는 표시되지 않습니다.
  • 모든 진행률 메시지 표시 - 모든 진행률 메시지를 표시합니다.
  • 검색한 라이브러리만 표시 - 검색한 라이브러리만 나타내는 진행률 메시지를 표시합니다.
  • 최적화된 링크 작업에서의 COMDAT 정리 정보 - 최적화된 링크 동안 COMDAT 정리에 대한 정보를 표시합니다.
  • 최적화된 링크 작업에서 제거된 데이터 정보 - 최적화된 링크 동안 제거된 함수 및 데이터에 대한 정보를 표시합니다.
  • SEH와 호환되지 않는 모듈 정보 - 안전한 예외 처리와 호환되지 않는 모듈에 대한 정보를 표시합니다.
  • 관리 코드와 관련된 링커 작업 정보 - 관리 코드와 관련된 링커 작업에 대한 정보를 표시합니다.

버전

/VERSION 옵션은 .exe 또는 .dll 파일의 헤더에 버전 번호를 삽입하도록 링커에 지시합니다. DUMPBIN /HEADERS를 사용하여 OPTIONAL HEADER VALUES의 이미지 버전 필드에서 /VERSION의 효과를 확인합니다.

증분 링크 사용

증분 링크를 사용하도록 설정합니다. (/INCREMENTAL, /INCREMENTAL:NO)

시작 배너 표시 안 함

/NOLOGO 옵션은 저작권 메시지 및 버전 번호를 표시하는 것을 방지합니다.

가져오기 라이브러리 무시

이 속성은 이 빌드에서 생성된 .lib 출력을 종속 프로젝트에 연결하지 않도록 링커에 지시합니다. 이렇게 하면 프로젝트 시스템이 빌드될 때 .lib 파일을 생성하지 않는 .dll 파일을 처리할 수 있습니다. 프로젝트가 DLL을 생성하는 다른 프로젝트에 종속되는 경우 프로젝트 시스템은 해당 하위 프로젝트에서 생성한 .lib 파일을 자동으로 연결합니다. 이러한 DLL에는 의미 있는 내보내기가 없으므로 COM DLL 또는 리소스 전용 DLL을 생성하는 프로젝트에서는 이 속성이 필요하지 않을 수 있습니다. DLL에 내보내기가 없는 경우 링커는 .lib 파일을 생성하지 않습니다. 내보내기 .lib 파일이 없는 경우 프로젝트 시스템에서 링커에게 누락된 DLL로 연결하도록 지시하면 연결이 실패합니다. 이 문제를 해결하려면 가져오기 라이브러리 무시 속성을 사용하세요. 로 설정하면 프로젝트 시스템이 해당 .lib 파일의 유무를 무시하고, 이 프로젝트에 종속된 모든 프로젝트가 존재하지 않는 .lib 파일과 연결되지 않도록 합니다.

프로그래밍 방식으로 이 속성에 액세스하려면 IgnoreImportLibrary을 참조하세요.

출력 등록

.dll 프로젝트에서만 유효한 빌드 출력에서 regsvr32.exe /s $(TargetPath)를 실행합니다. .exe 프로젝트의 경우 이 속성은 무시됩니다. .exe 출력을 등록하려면 구성에 postbuild 이벤트를 설정하여, 등록된 .exe 파일에 항상 필요한 사용자 지정 등록을 수행합니다.

프로그래밍 방식으로 이 속성에 액세스하려면 RegisterOutput을 참조하세요.

사용자별 리디렉션

Visual Studio의 등록은 일반적으로 HKEY_CLASSES_ROOT(HKCR)에서 수행되었습니다. Windows Vista 이상의 운영 체제에서 HKCR에 액세스하려면 Visual Studio를 승격된 모드로 실행해야 합니다. 개발자가 승격된 모드로 실행하는 것이 항상 좋은 것은 아니지만 계속 등록 작업을 수행해야 합니다. 사용자별 리디렉션을 사용하면 관리자 모드에서 실행하지 않고도 등록할 수 있습니다.

사용자별 리디렉션은 HKCR에 대한 모든 쓰기가 HKEY_CURRENT_USER(HKCU)로 리디렉션되도록 합니다. 사용자별 리디렉션이 해제되어 있는 경우 프로그램이 HKCR에 쓰려고 할 때 프로젝트 빌드 오류 PRJ0050이 발생할 수 있습니다.

추가 라이브러리 디렉터리

사용자가 환경의 라이브러리 경로를 재정의할 수 있습니다. (/LIBPATH:folder)

종속 프로젝트에서 생성한 .lib 파일을 연결할지 여부를 지정합니다. 일반적으로, .lib 파일에 연결하는 것이 좋지만 특정 DLL의 경우는 그렇지 않을 수 있습니다.

파일 이름과 상대 경로를 제공하여 .obj 파일을 지정할 수도 있습니다(예: ..\..\MyLibProject\MyObjFile.obj). .obj 파일의 소스 코드에 미리 컴파일된 헤더(예: pch.h)에 대해 #include가 있는 경우 pch.obj 파일은 MyObjFile.obj와 같은 폴더에 있습니다. 또한 pch.obj를 추가 종속성으로 추가해야 합니다.

라이브러리 종속성 입력 사용

프로젝트 종속성의 라이브러리 출력에 링크될 때 라이브러리 파일 자체가 아닌 라이브러리 관리자 도구에 대한 입력을 사용할지 여부를 지정합니다. 대규모 프로젝트에서 종속 프로젝트가 .lib 파일을 생성하면 증분 연결은 사용할 수 없습니다. .lib 파일을 생성하는 많은 종속 프로젝트가 있는 경우 애플리케이션을 빌드하는 데 오랜 시간이 걸릴 수 있습니다. 이 속성을 로 설정하면 프로젝트 시스템은 종속 프로젝트에서 생성한 .lib 파일에 .obj 파일을 연결하여 증분 연결을 사용할 수 있습니다.

일반 링커 속성 페이지에 액세스하는 방법에 대한 자세한 내용은 컴파일러 및 빌드 속성 설정을 참조하세요.

완료된 링크 비율을 표시하는 진행률 표시기가 링커에 표시되는지 여부를 지정합니다. 기본적으로 이 상태 정보는 표시되지 않습니다. (/LTCG:STATUS|LTCG:NOSTATUS)

DLL 바인딩 방지

/ALLOWBIND:NO는 이미지를 바인딩할 수 없다는 Bind.exe를 나타내는 DLL 헤더의 비트를 설정합니다. 바인딩이 서명을 무효화하므로 디지털 서명된 경우 DLL을 바인딩하지 않으려고 할 수 있습니다.

링커 경고를 오류로 처리

/WX이면 링커에서 경고가 생성되는 경우에도 출력 파일이 생성되지 않도록 합니다.

파일 출력 강제

/FORCE 옵션은 기호가 참조되지만 정의되지 않았거나(UNRESOLVED) 여러 번 정의된 경우에도(MULTIPLE) .exe 파일이나 DLL을 만들도록 링커에 지시합니다. 이로 인해 잘못된 .exe 파일이 생성될 수 있습니다.

Choices

  • 인수 없이 사용 - /FORCE을 지정하면 /FORCE:MULTIPLE/FORCE:UNRESOLVED 둘 다를 의미합니다.
  • 여러 번 정의된 기호만 - LINK가 기호에 대한 정의를 둘 이상 찾더라도 /FORCE:MULTIPLE을 사용하여 출력 파일을 만듭니다.
  • 정의되지 않은 기호만 - /FORCE:UNRESOLVED를 사용하여 LINK가 정의되지 않은 기호를 찾는지 여부에 관계없이 출력 파일을 만듭니다. 진입점 기호가 확인되지 않으면 /FORCE:UNRESOLVED는 무시됩니다.

핫 패치 가능 이미지 만들기

핫 패치 가능한 이미지를 준비합니다.

Choices

  • 사용 - 핫 패치 가능한 이미지를 준비합니다.
  • X86 이미지 전용 - 핫 패치를 위해 X86 이미지를 준비합니다.
  • X64 이미지 전용 - 핫 패치를 위해 X64 이미지를 준비합니다.
  • Itanium 이미지 전용 - 핫 패치를 위해 Itanium 이미지를 준비합니다.

섹션 특성 지정

/SECTION 옵션은 섹션의 특성을 변경하고 섹션의 .obj 파일이 컴파일될 때 설정된 특성을 재정의합니다.

Input 속성 페이지

추가 종속성

링크 명령줄에 추가할 추가 종속성 항목(예: kernel32.lib)을 지정합니다.

모든 기본 라이브러리 무시

/NODEFAULTLIB 옵션은 외부 참조를 확인할 때 검색하는 라이브러리 목록에서 하나 이상의 기본 라이브러리를 제거하도록 링커에 지시합니다.

특정 기본 라이브러리 무시

무시할 하나 이상의 기본 라이브러리 이름을 지정합니다. 세미콜론을 사용하여 여러 개의 라이브러리를 구분합니다. (/NODEFAULTLIB:[name, name, ...])

모듈 정의 파일

/DEF 옵션은 모듈 정의 파일(.def)을 링커에 전달합니다. LINK에는 하나의 .def 파일만 지정할 수 있습니다.

어셈블리에 모듈 추가

/ASSEMBLYMODULE 옵션을 사용하면 어셈블리에 모듈 참조를 추가할 수 있습니다. 모듈 참조를 추가한 어셈블리 프로그램에서는 모듈의 형식 정보를 사용할 수 없습니다. 그러나 모듈의 형식 정보는 어셈블리를 참조하는 모든 프로그램에서 사용할 수 있습니다.

관리되는 리소스 파일 포함

/ASSEMBLYRESOURCE는 출력 파일에 리소스 파일을 포함합니다.

강제 기호 참조

/INCLUDE 옵션은 지정된 기호를 기호 테이블에 추가하도록 링커에 지시합니다.

지연 로드 DLL

/DELAYLOAD 옵션을 사용하면 DLL의 로드가 지연됩니다. dll 이름은 로드를 지연할 DLL을 지정합니다.

/ASSEMBLYLINKRESOURCE 옵션은 출력 파일에 .NET Framework 리소스에 대한 링크를 만듭니다. 링커는 출력 파일에 리소스 파일을 배치하지 않습니다.

매니페스트 파일 속성 페이지

매니페스트 생성

/MANIFEST는 링커가 병렬 매니페스트 파일을 만들어야 한다고 지정합니다.

매니페스트 파일

/MANIFESTFILE에서 매니페스트 파일의 기본 이름을 변경할 수 있습니다. 매니페스트 파일의 기본 이름은 .manifest가 추가된 파일 이름입니다.

추가 매니페스트 종속성

/MANIFESTDEPENDENCY를 사용하면 매니페스트 파일의 종속성 섹션에 추가할 특성을 지정할 수 있습니다.

격리 허용

매니페스트 조회 동작을 지정합니다. (/ALLOWISOLATION:NO)

UAC(사용자 계정 컨트롤) 사용

사용자 계정 컨트롤을 사용할지 여부를 지정합니다. (/MANIFESTUAC, /MANIFESTUAC:NO)

UAC 실행 수준

사용자 계정 컨트롤을 사용하여 실행될 때 애플리케이션에 필요한 실행 수준을 지정합니다. (/MANIFESTUAC:level=[value])

Choices

  • asInvoker - UAC 실행 수준: 호출자입니다.
  • highestAvailable - UAC 실행 수준: 사용 가능한 가장 높은 수준입니다.
  • requireAdministrator - UAC 실행 수준: 관리자가 필요합니다.

UAC UI 보호 건너뛰기

데스크톱의 다른 창에 대한 사용자 인터페이스 보호 수준을 무시할지 여부를 지정합니다. 접근성 애플리케이션에 대해서만 이 속성을 '예'로 설정합니다. (/MANIFESTUAC:uiAccess=[true | false])

디버깅 속성 페이지

디버그 정보 생성

이 옵션을 사용하면 .exe 파일 또는 DLL에 대한 디버깅 정보를 만들 수 있습니다.

Choices

  • 아니요 - 디버깅 정보를 생성하지 않습니다.
  • 디버그 정보 생성 - Microsoft Symbol Server에 배포하기에 적합한 완전한 PDB(프로그램 데이터베이스)를 만듭니다.
  • 더 빠른 링크를 위해 최적화된 디버그 정보 생성 - 빠른 편집-링크-디버그 주기에 적합한 PDB(프로그램 데이터베이스)를 생성합니다.
  • 공유 및 게시를 위해 최적화된 디버그 정보 생성 - 공유 편집-링크-디버그 주기에 적합한 PDB(프로그램 데이터베이스)를 생성합니다.

프로그램 데이터베이스 파일 생성

기본적으로 /DEBUG를 지정하면 링커는 디버깅 정보를 포함하는 PDB(프로그램 데이터베이스)를 만듭니다. PDB의 기본 파일 이름은 프로그램의 기본 이름과 확장명 .pdb입니다.

프라이빗 기호 제거

/PDBSTRIPPED 옵션을 사용하면 PDB 파일을 생성하는 컴파일러 또는 링커 옵션(예: /DEBUG, /Z7, /Zd 또는 /Zi)으로 프로그램 이미지를 빌드할 때 두 번째 PDB(프로그램 데이터베이스) 파일이

맵 파일 생성

/MAP 옵션은 링커에게 맵 파일을 만들도록 지시합니다.

맵 파일 이름

맵 파일의 사용자 지정 이름입니다. 기본 이름을 대신합니다.

맵 내보내기

/MAPINFO 옵션은 /MAP 옵션을 지정하면 생성되는 맵 파일에 지정된 정보를 포함하도록 링커에 지시합니다. EXPORTS는 내보낸 함수를 포함하도록 링커에 지시합니다.

디버깅 가능한 어셈블리

/ASSEMBLYDEBUG는 디버그 정보 추적과 함께 DebuggableAttribute 특성을 내보내고 JIT 최적화를 사용하지 않도록 설정합니다.

시스템 속성 페이지

SubSystem

/SUBSYSTEM 옵션은 운영 체제에 .exe 파일을 실행하는 방법을 알립니다. 어떠한 하위 시스템을 선택하는가는 링커가 선택하는 진입점 기호(또는 진입점 함수)에 영향을 미칩니다.

Choices

  • 설정되지 않음 - 설정된 하위 시스템이 없습니다.
  • 콘솔 - Win32 문자 모드 애플리케이션입니다. 운영 체제는 콘솔 애플리케이션에 콘솔을 제공합니다. main 또는 wmain을 정의한 경우 CONSOLE은 기본값입니다.
  • Windows - 애플리케이션은 대개 사용자와의 상호 작용을 위해 고유한 창을 만들기 때문에 콘솔이 필요하지 않습니다. WinMain 또는 wWinMain을 정의한 경우 WINDOWS는 기본값입니다.
  • 네이티브 - Windows NT용 디바이스 드라이버입니다. /DRIVER:WDM을 지정한 경우 NATIVE는 기본값입니다.
  • EFI 애플리케이션 - EFI 애플리케이션입니다.
  • EFI 부트 서비스 드라이버 - EFI 부트 서비스 드라이버입니다.
  • EFI ROM - EFI ROM입니다.
  • EFI 런타임 - EFI 런타임입니다.
  • POSIX - Windows NT의 POSIX 하위 시스템에서 실행되는 애플리케이션입니다.

필요한 최소 버전

하위 시스템의 최소 필수 버전을 지정합니다. 인수는 0에서 65535 사이의 10진수입니다.

힙 예약 크기

가상 메모리의 총 힙 할당 크기를 지정합니다. 기본값은 1MB입니다. (/HEAP:reserve)

힙 커밋 크기

실제 메모리의 총 힙 할당 크기를 지정합니다. 기본값은 4KB입니다. ([/HEAP:reserve,commit](heap-set-heap-size.md))

스택 예약 크기

가상 메모리의 총 스택 할당 크기를 지정합니다. 기본값은 1MB입니다. (/STACK:reserve)

스택 커밋 크기

가상 메모리의 총 스택 할당 크기를 지정합니다. 기본값은 4KB입니다. (/STACK:reserve,commit)

큰 주소 사용

/LARGEADDRESSAWARE 옵션은 애플리케이션이 2GB보다 큰 주소를 처리할 수 있음을 링커에 알려줍니다. 링커 줄에 /LARGEADDRESSAWARE가 지정되지 않은 경우 /LARGEADDRESSAWARE:NO가 사용하도록 설정됩니다.

터미널 서버

/TSAWARE 옵션은 프로그램 이미지의 선택적 헤더에 있는 IMAGE_OPTIONAL_HEADER DllCharacteristics 필드에서 플래그를 설정합니다. 이 플래그를 설정하면 터미널 서버가 애플리케이션에서 특정 변경 작업을 수행할 수 없습니다.

CD에서 스왑 실행

/SWAPRUN 옵션은 먼저 링커 출력을 스왑 파일에 복사한 다음, 해당 파일에서 이미지를 실행하도록 운영 체제에 지시합니다. 이 옵션은 Windows NT 4.0 이상 기능입니다. CD를 지정하면 운영 체제에서 이동식 디스크의 이미지를 페이지 파일로 복사한 다음, 로드합니다.

네트워크에서 스왑 실행

/SWAPRUN 옵션은 먼저 링커 출력을 스왑 파일에 복사한 다음, 해당 파일에서 이미지를 실행하도록 운영 체제에 지시합니다. 이 옵션은 Windows NT 4.0 이상 기능입니다. NET을 지정하면 운영 체제는 먼저 네트워크에서 스왑 파일로 이진 이미지를 복사하고 해당 위치에서 로드합니다. 이 옵션은 네트워크를 통해 애플리케이션을 실행하는 데 유용합니다.

드라이버

Windows NT 커널 모드 드라이버를 작성하려면 /DRIVER 링커 옵션을 사용합니다.

Choices

  • 설정되지 않음 - 기본 드라이버 설정입니다.
  • 드라이버 - 드라이버입니다.
  • UP만 - /DRIVER:UPONLY을 지정하면 링커가 출력 헤더의 특성에 IMAGE_FILE_UP_SYSTEM_ONLY 비트를 추가하여 UP(단일 프로세서) 드라이버임을 지정합니다. 운영 체제는 MP(다중 프로세서) 시스템에 UP 드라이버를 로드하는 것을 거부합니다.
  • WDM - /DRIVER:WDM을 지정하면 링커는 선택적 헤더의 DllCharacteristics 필드에 IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 비트를 설정합니다.

최적화 속성 페이지

참조

/OPT:REF를 사용하면 참조되지 않는 함수 및/또는 데이터가 제거되고, /OPT:NOREF를 사용하면 참조되지 않는 함수 및/또는 데이터가 유지됩니다.

COMDAT 정리 사용

동일한 COMDAT를 정리하려면 /OPT:ICF[=iterations]를 사용합니다.

함수 순서

/ORDER 옵션은 특정 COMDAT를 미리 정해진 순서로 이미지에 배치하여 프로그램을 최적화하도록 LINK에 지시합니다. LINK는 이미지의 각 섹션 내에서 지정된 순서로 함수를 배치합니다.

프로필 기반 데이터베이스

프로필 기반 최적화를 위한 .pgd 파일을 지정합니다. (/PGD)

링크 타임 코드 생성을 지정합니다. (/LTCG)

Choices

  • 기본 - 기본 LTCG 설정입니다.
  • 빠른 링크 타임 코드 생성 사용 - /FASTGENPROFILE에서 링크 타임 코드 생성을 사용합니다.
  • 링크 타임 코드 생성 사용 - 링크 타임 코드 생성을 사용합니다.
  • 프로필 기반 최적화 - 계측 - :PGINSTRUMENT에서 프로필 기반 최적화를 사용합니다.
  • 프로필 기반 최적화 - 최적화 - 링커가 계측된 이진 파일을 실행한 후 생성된 프로필 데이터를 사용하여 최적화된 이미지를 만들도록 지정합니다.
  • 프로필 기반 최적화 - 업데이트 - 입력 파일 목록을 :PGINSTRUMENT 단계에서 지정한 항목에서 추가하거나 수정할 수 있도록 허용하고 추적합니다.

포함된 IDL 속성 페이지

MIDL 명령

MIDL 명령줄 옵션을 지정합니다. (/MIDL:@responsefile)

포함된 IDL 무시

/IGNOREIDL 옵션은 소스 코드의 모든 IDL 특성이 .idl 파일로 처리되지 않도록 지정합니다.

병합된 IDL 기본 파일 이름

/IDLOUT 옵션은 .idl 파일의 이름과 확장명을 지정합니다.

형식 라이브러리

/TLBOUT 옵션은 .tlb 파일의 이름과 확장명을 지정합니다.

TypeLib 리소스 ID

링커 생성 형식 라이브러리의 리소스 ID를 지정할 수 있습니다. (/TLBID:id)

Windows 메타데이터 속성 페이지

Windows 메타데이터 생성

Windows 메타데이터 생성을 사용하거나 사용하지 않도록 설정합니다.

Choices

  • - Windows 메타데이터 파일의 생성을 사용하도록 설정합니다.
  • 아니요 - Windows 메타데이터 파일의 생성을 사용하지 않도록 설정합니다.

Windows 메타데이터 파일

/WINMDFILE 옵션 스위치입니다.

Windows 메타데이터 키 파일

Windows 메타데이터에 서명할 키 또는 키 쌍을 지정합니다. (/WINMDKEYFILE:filename)

Windows 메타데이터 키 컨테이너

Windows 메타데이터에 서명할 키 컨테이너를 지정합니다. (/WINMDKEYCONTAINER:name)

Windows 메타데이터 서명 연기

Windows 메타데이터에 부분적으로 서명합니다. Windows 메타데이터에 공개 키만 배치하려면 /WINMDDELAYSIGN을 사용합니다. 기본값은 /WINMDDELAYSIGN:NO입니다.

고급 속성 페이지

진입점

[/ENTRY](entry-entry-point-symbol.md) 옵션은 진입점 함수를 .exe 파일이나 DLL의 시작 주소로 지정합니다.

진입점 없음

/NOENTRY 옵션은 리소스 전용 DLL을 만드는 데 필요합니다. 이 옵션을 사용하면 LINK가 _main에 대한 참조를 DLL로 링크하는 것을 방지할 수 있습니다.

체크섬 설정

/RELEASE 옵션은 .exe 파일의 헤더에 체크섬을 설정합니다.

기준 주소

프로그램의 기준 주소를 설정합니다. (/BASE:{address[,size] | @filename,key})

임의 기준 주소

임의 기준 주소 (/DYNAMICBASE[:NO])

고정 기준 주소

기본 설정 기준 주소에서만 로드할 수 있는 프로그램을 만듭니다. (/FIXED[:NO])

DEP(데이터 실행 방지)

실행 파일이 Windows 데이터 실행 방지 기능과 호환되는지 테스트했음을 표시합니다. (/NXCOMPAT[:NO])

어셈블리 생성 끄기

/NOASSEMBLY 옵션은 .NET Framework 어셈블리 없이 현재 출력 파일에 대한 이미지를 만들도록 링커에 지시합니다.

지연 로드된 DLL 언로드

UNLOAD 한정자는 지연 로드 도우미 함수에 DLL의 명시적 언로드를 지원하도록 지시합니다. (/DELAY:UNLOAD)

지연 로드된 DLL 바인딩 안 함

NOBIND 한정자는 바인딩할 수 있는 IAT(가져오기 주소 테이블)를 최종 이미지에 포함하지 않도록 링커에 지시합니다. 기본값은 지연 로드된 DLL에 대해 바인딩할 수 있는 IAT를 만드는 것입니다. (/DELAY:NOBIND)

라이브러리 가져오기

기존 가져오기 라이브러리 이름을 재정의합니다. (/IMPLIB:filename)

섹션 병합

/MERGE 옵션은 첫 번째 섹션을 두 번째 섹션과 결합하고 결과 섹션에 두 번째 섹션 이름을 지정합니다. 예를 들어 /merge:.rdata=.text.rdata 섹션을 .text 섹션과 병합하고 결합된 섹션의 이름을 .text로 지정합니다.

대상 컴퓨터

/MACHINE 옵션은 프로그램에 대한 대상 플랫폼을 지정합니다.

Choices

  • 설정 안 함
  • MachineARM
  • MachineARM64
  • MachineEBC
  • MachineIA64
  • MachineMIPS
  • MachineMIPS16
  • MachineMIPSFPU
  • MachineMIPSFPU16
  • MachineSH4
  • MachineTHUMB
  • MachineX64
  • MachineX86

프로필

성능 도구 프로파일러와 함께 사용할 수 있는 출력 파일을 생성합니다. 디버그 정보 생성 속성을 generateDebugInformation(/DEBUG)으로 설정해야 합니다. (/PROFILE)

CLR 스레드 특성

CLR 프로그램의 진입점에 대한 스레딩 특성을 명시적으로 지정합니다.

Choices

  • MTA 스레딩 특성 - MTAThreadAttribute 특성을 프로그램의 진입점에 적용합니다.
  • STA 스레딩 특성 - STAThreadAttribute 특성을 프로그램의 진입점에 적용합니다.
  • 기본 스레딩 특성 - /CLRTHREADATTRIBUTE를 지정하지 않는 것과 같습니다. CLR(공용 언어 런타임)에서 기본 스레딩 특성을 설정할 수 있습니다.

CLR 이미지 유형

CLR 이미지의 형식(IJW, 순수 또는 안전)을 설정합니다.

Choices

  • IJW 이미지 강제
  • 순수 IL 이미지 강제
  • 안전 IL 이미지 강제
  • 기본 이미지 유형

키 파일

어셈블리에 서명할 키 또는 키 쌍을 지정합니다. (/KEYFILE:filename)

키 컨테이너

어셈블리에 서명할 키 컨테이너를 지정합니다. (/KEYCONTAINER:name)

서명 연기

어셈블리에 부분적으로 서명합니다. 어셈블리에 공개 키만 배치하려면 /DELAYSIGN을 사용합니다. 기본값은 /DELAYSIGN:NO입니다.

CLR 비관리 코드 검사

/CLRUNMANAGEDCODECHECK는 관리 코드에서 네이티브 DLL로 호출하는 링커 생성 P/Invoke에 링커가 SuppressUnmanagedCodeSecurityAttribute를 적용할지 여부를 지정합니다.

오류 보고

ICE(내부 컴파일러 오류) 정보를 Visual Studio C++ 팀에 직접 제공할 수 있습니다.

Choices

  • PromptImmediately - 즉시 프롬프트를 표시합니다.
  • 다음 로그인으로 대기 - 다음 로그인할 때까지 대기합니다.
  • 오류 보고서 보내기 - 오류 보고서를 보냅니다.
  • 오류 보고 안 함 - 오류를 보고하지 않습니다.

SectionAlignment

/ALIGN 옵션은 프로그램의 선형 주소 공간 내에서 각 섹션의 맞춤을 지정합니다. 숫자 인수는 바이트 단위이며 2의 거듭제곱이어야 합니다.

PInvoke 호출의 마지막 오류 코드 유지

기본적으로 설정되는 /CLRSUPPORTLASTERROR는 P/Invoke 메커니즘을 통해 호출되는 함수의 마지막 오류 코드를 유지합니다. 이를 통해 /clr로 컴파일된 코드에서 DLLS의 네이티브 함수를 호출할 수 있습니다.

Choices

  • 사용 - /CLRSupportLastError를 사용하도록 설정합니다.
  • 사용 안 함 - /CLRSupportLastError를 사용하지 않도록 설정합니다.
  • 시스템 DLL만 - 시스템 DLL에 대해서만 /CLRSupportLastError를 사용하도록 설정합니다.

이미지에 안전한 예외 처리기 포함

/SAFESEH를 지정하면 링커는 이미지의 안전한 예외 처리기 테이블도 생성할 수 있는 경우에만 이미지를 생성합니다. 이 표는 이미지에 유효한 예외 처리기를 운영 체제에 지정합니다.