detect_mismatch
pragma
레코드를 개체에 배치합니다. 링커는 이러한 레코드를 검사하여 잠재적인 불일치를 확인합니다.
구문
#pragma detect_mismatch(
"name",
"value")
설명
프로젝트를 연결하면 프로젝트에 이름이 같지만 각각 다른 값이 있는 두 개의 개체가 포함되어 있으면 링커에서 LNK2038 오류가 발생합니다. 일관성 없는 개체 파일이 연결되지 않도록 하려면 이 pragma 방법을 사용합니다.
이름과 값은 모두 문자열 리터럴이며 이스케이프 문자 및 연결과 관련하여 문자열 리터럴에 대한 규칙을 준수합니다. 대/소문자를 구분하며 쉼표, 등호, 따옴표 또는 null 문자를 포함할 수 없습니다.
예시
이 예제에서는 같은 버전 레이블에 대한 버전 번호가 서로 다른 두 파일을 만듭니다.
// pragma_directive_detect_mismatch_a.cpp
#pragma detect_mismatch("myLib_version", "9")
int main ()
{
return 0;
}
// pragma_directive_detect_mismatch_b.cpp
#pragma detect_mismatch("myLib_version", "1")
명령줄 cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp
을 사용하여 두 파일을 모두 컴파일하면 오류 LNK2038 표시됩니다.