detect_mismatch
Umieszcza rekord w obiekcie.Konsolidator sprawdza te rekordy w poszukiwaniu potencjalnych niezgodności.
#pragma detect_mismatch( "name", "value"))
Uwagi
Podczas łączenia projektu, konsolidator wyrzuca błąd LNK2038, jeśli projekt zawiera dwa obiekty, które mają taką samą name , ale każdy ma inną wartość value.Umożliwia to dyrektywie, zapobieganiu przed łączeniem niespójnych plików obiektu.
Nazwy i wartości są literałami ciągów znaków i przestrzegają zasad literałów ciągów w odniesieniu do znaków ucieczki i łączenia ciągów.Uwzględniają one wielkość liter i nie mogą zawierać przecinka, znaku równości, znaku cudzysłowu lub znaku null.
Przykład
W tym przykładzie utworzono dwa pliki, które mają różne numery wersji dla tej samej wersji etykiety.
// 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")
Jeśli nastąpi kompilacja obu tych plików przy użyciu wiersza polecenia cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp, wystąpi błąd LNK2038.