detect_mismatch
pragma
Inserisce un record in un oggetto. Il linker controlla tali record per potenziali dati non corrispondenti.
Sintassi
#pragma detect_mismatch(
"name",
"value")
Osservazioni:
Quando si collega il progetto, il linker genera un errore di LNK2038 se il progetto contiene due oggetti con lo stesso nome, ma ognuno ha un valore diverso. Utilizzare questa opzione pragma per impedire il collegamento di file di oggetti incoerenti.
Sia il nome che il valore sono valori letterali stringa e rispettano le regole per i valori letterali stringa in relazione ai caratteri di escape e alla concatenazione. Fanno distinzione tra maiuscole e minuscole e non possono contenere una virgola, un segno di uguale, virgolette o il carattere Null .
Esempio
In questo esempio vengono creati due file che includono numeri di versione diversi per la stessa etichetta della versione.
// 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")
Se si compilano entrambi questi file usando la riga cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp
di comando , verrà visualizzato l'errore LNK2038.