detect_mismatch
pragma
Coloca um registro em um objeto. O vinculador verifica esses registros em busca de possíveis incompatibilidades.
Sintaxe
#pragma detect_mismatch(
"nome",
"valor")
Comentários
Quando você vincula o projeto, o vinculador lança um erro de LNK2038 se o projeto contiver dois objetos que têm o mesmo nome mas cada um tem um valor de diferente. Use este pragma para impedir que arquivos de objeto inconsistentes sejam vinculados.
Tanto nome quanto valor são literais de cadeia de caracteres e obedecem às regras para literais de cadeia de caracteres em relação a caracteres de escape e concatenação. Eles diferenciam maiúsculas de minúsculas e não podem conter vírgula, sinal de igual, aspas ou o caractere nulo.
Exemplo
Este exemplo cria dois arquivos com números de versão diferentes para o mesmo rótulo de versão.
// 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 você compilar esses dois arquivos usando a linha de comando cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp
, você receberá o erro LNK2038.