detect_mismatch
pragma
Coloca um registro em um objeto. O vinculador verifica possíveis incompatibilidades nesses registros.
Sintaxe
#pragma detect_mismatch(
"name",
"value")
Comentários
Ao vincular o projeto, o vinculador gerará um erro LNK2038 se o projeto contiver dois objetos com o mesmo nome, mas cada um com um valor diferente. Use esse pragma para evitar que arquivos de objetos inconsistentes sejam vinculados.
Tanto o nome quanto o 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 que têm números de versão diferentes para o mesmo rótulo da 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
, receberá o erro LNK2038.