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.

Confira também

Pragmadiretivas e as __pragma palavras-chave e _Pragma