/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부터 사용할 수 있습니다.
인수가 /reference
filename
없는 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
(헤더 단위 만들기)