/reference (명명된 모듈 IFC 사용)

현재 컴파일에 기존 IFC(.ifc)를 사용하도록 컴파일러에 지시합니다.

구문

/reference module-name=filename
/reference filename

인수

filename
미리 빌드된 모듈 정보인 IFC 데이터를 포함하는 파일의 이름입니다. 둘 이상의 모듈을 가져오려면 각 파일에 대해 별도의 /reference 옵션을 포함합니다.

module-name
내보낸 기본 모듈 인터페이스 단위 이름 또는 전체 모듈 파티션 이름의 유효한 이름입니다.

설명

대부분의 경우 프로젝트 시스템에서 솔루션 내에서 모듈 종속성을 자동으로 검색하기 때문에 이 스위치를 지정할 필요가 없습니다.

/reference 컴파일러 옵션을 사용하려면 이상 컴파일러 옵션(예: /std:c++latest)을 사용하도록 설정 /std:c++20 해야 합니다. 이 /reference 옵션은 Visual Studio 2019 버전 16.10부터 사용할 수 있습니다.

인수가 /referencefilename 없는 module-name경우 런타임에 파일이 열리고 인수 이름이 특정 가져오기인지 확인 filename 합니다. 인수가 많은 /reference 시나리오에서 런타임 성능이 저하될 수 있습니다.

module-name 유효한 기본 모듈 인터페이스 단위 이름 또는 전체 모듈 파티션 이름이어야 합니다. 기본 모듈 인터페이스 이름의 예는 다음과 같습니다.

  • M
  • M.N.O
  • MyModule
  • my_module

전체 모듈 파티션 이름의 예는 다음과 같습니다.

  • M:P
  • M.N.O:P.Q
  • MyModule:Algorithms
  • my_module:algorithms

모듈 참조를 사용하여 module-name만든 경우 컴파일러에서 해당 이름을 가져오는 경우 명령줄의 다른 모듈이 검색되지 않습니다. 예를 들어 다음 명령줄을 지정합니다.

cl ... /std:c++latest /reference m.ifc /reference m=n.ifc

위의 경우 컴파일러가 확인 import m;m.ifc 되면 검색되지 않습니다.

예제

이 표에 나열된 세 가지 모듈이 지정됩니다.

모듈 IFC 파일
M m.ifc
M:Part1 m-part1.ifc
Core.Networking Networking.ifc

인수를 filename 사용하는 참조 옵션은 다음과 같습니다.

cl ... /std:c++latest /reference m.ifc /reference m-part.ifc /reference Networking.ifc

사용하는 module-name=filename 참조 옵션은 다음과 같습니다.

cl ... /std:c++latest /reference m=m.ifc /reference M:Part1=m-part.ifc /reference Core.Networking=Networking.ifc

참고 항목

/scanDependencies (모듈 종속성을 표준 형식으로 나열)
/sourceDependencies:directives(모듈 및 헤더 단위 종속성 나열)
/headerUnit(헤더 단위 IFC 사용)
/exportHeader(헤더 단위 만들기)