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.cpppolecenia , zostanie wyświetlony błąd LNK2038.

Zobacz też

Dyrektywy Pragma i __pragma słowa kluczowe i _Pragma