detect_mismatch
pragma
Umieszcza rekord w obiekcie. Konsolidator sprawdza te rekordy pod kątem potencjalnych niezgodności.
Składnia
#pragma detect_mismatch(
"name" "value",
)
Uwagi
Po połączeniu projektu konsolidator zgłasza błąd LNK2038 , jeśli projekt zawiera dwa obiekty o tej samej nazwie , ale każda ma inną wartość. Użyj tego polecenia pragma , aby zapobiec łączeniu niespójnych plików obiektów.
Zarówno nazwa , jak i wartość są literałami ciągów i przestrzegają reguł literałów ciągu w odniesieniu do znaków ucieczki i łączenia. Uwzględniana jest wielkość liter i nie może zawierać przecinka, znaku równości, cudzysłowu lub znaku null .
Przykład
W tym przykładzie są tworzone dwa pliki, które mają różne numery wersji dla tej samej etykiety wersji.
// 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 skompilujesz oba te pliki przy użyciu wiersza cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp
polecenia , zostanie wyświetlony błąd LNK2038.
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla