detect_mismatch
pragma
Hiermee plaatst u een record in een object. De linker controleert deze records op mogelijke niet-overeenkomende records.
Syntaxis
#pragma detect_mismatch(
"naam",
"waarde")
Opmerkingen
Wanneer u het project koppelt, genereert de linker een LNK2038 fout als het project twee objecten bevat met dezelfde naam, maar elk een andere waardeheeft. Gebruik deze pragma om te voorkomen dat inconsistente objectbestanden worden gekoppeld.
Zowel naam als waarde tekenreeksen zijn letterlijke tekenreeksen en voldoen aan de regels voor letterlijke tekenreeksen met betrekking tot escapetekens en samenvoeging. Ze zijn hoofdlettergevoelig en mogen geen komma, gelijkteken, aanhalingstekens of het null- teken bevatten.
Voorbeeld
In dit voorbeeld worden twee bestanden gemaakt met verschillende versienummers voor hetzelfde versielabel.
// 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")
Als u beide bestanden compileert met behulp van de opdrachtregel cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp
, krijgt u de fout LNK2038.