detect_mismatch
pragma
Umístí do objektu záznam. Linker zkontroluje tyto záznamy a vyhledá potenciální problémy.
Syntaxe
#pragma detect_mismatch(
"name" "value",
)
Poznámky
Když projekt propojíte, vyvolá linker chybu LNK2038 , pokud projekt obsahuje dva objekty se stejným názvem , ale každý z nich má jinou hodnotu. pragma Tento postup slouží k zabránění propojení nekonzistentních souborů objektů.
Název i hodnota jsou řetězcové literály a dodržují pravidla pro řetězcové literály s ohledem na řídicí znaky a zřetězení. Rozlišují se malá a velká písmena a nesmí obsahovat čárku, znaménko rovná se, uvozovky nebo znak null .
Příklad
Tento příklad vytvoří dva soubory, které mají různá čísla verze pro stejný popisek verze.
// 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")
Pokud zkompilujete oba tyto soubory pomocí příkazového řádku cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp
, zobrazí se chyba LNK2038.