Share via


/CLRIMAGETYPE(CLR 이미지 형식 지정)

/CLRIMAGETYPE:{IJW|PURE|SAFE}

설명

링커는 네티이브 개체를 비롯하여 /clr, /clr:pure 또는 /clr:safe로 컴파일한 MSIL 개체를 받아들입니다. 동일한 빌드에서 혼합된 개체를 전달하는 경우 출력 파일 결과의 안정성은 기본적으로 입력 모듈의 가장 낮은 안정성과 같습니다. 예를 들어, 안전 모듈과 순수 모듈을 링커에 전달하는 경우 출력은 순수 파일이 됩니다. /clr로 컴파일한 혼합 모드 이미지와 네이티브 이미지를 전달하는 경우 결과 이미지는 혼합 모드 이미지가 됩니다.

/CLRIMAGETYPE을 사용하면 필요한 경우 더 낮은 수준의 안정성을 지정할 수 있습니다.

안전 이미지가 32비트 리소스를 로드할 때 안전 실행 파일이 64비트 운영 체제의 WOW64에서 실행되도록 /CLRIMAGETYPE을 사용하여 지정하는 방법에 대한 자세한 내용은 /clr(공용 언어 런타임 컴파일)를 참조하십시오.

/clr 또는 /clr:pure를 사용하여 컴파일한 .exe를 64비트 운영 체제에서 실행하는 경우 응용 프로그램은 WOW64에서 실행됩니다. WOW64를 사용하면 32비트 응용 프로그램을 64비트 운영 체제에서 실행할 수 있습니다. 기본적으로 /clr:safe를 사용하여 컴파일한 .exe는 운영 체제의 64비트 지원 기능을 사용하여 실행됩니다. 그러나 안전 응용 프로그램에서 32비트 구성 요소를 로드할 수도 있습니다. 이 경우 운영 체제의 64비트 지원 기능을 사용하여 실행되는 안전 이미지가 32비트 응용 프로그램을 로드할 때 문제가 발생할 수 있습니다. 64비트 운영 체제에서 32비트 응용 프로그램을 로드할 때도 안전 이미지가 계속 실행되도록 하려면 /CLRIMAGETYPE(CLR 이미지 형식 지정) 링커 옵션을 사용하여 메타데이터(.corflags)를 변경하여 응용 프로그램이 WOW64에서 실행되도록 지정하고 진입점 기호를 대체해야 합니다.

cl /clr:safe t.cpp /link /clrimagetype:pure /entry:?main@@$$HYMHXZ /subsystem:console

파일의 CLR 이미지 형식을 확인하는 방법에 대한 자세한 내용은 /CLRHEADER를 참조하십시오.

Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 방법: 프로젝트 속성 페이지 열기를 참조하십시오.

  2. 구성 속성 노드를 확장합니다.

  3. 링커 노드를 확장합니다.

  4. 고급 속성 페이지를 선택합니다.

  5. CLR 이미지 형식 속성을 수정합니다.

프로그래밍 방식으로 이 링커 옵션을 설정하려면

참고 항목

참조

링커 옵션 설정

링커 옵션