detect_mismatch

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Inserta un registro en un objeto. El vinculador comprueba estos registros para detectar potenciales discordancias.

#pragma detect_mismatch( "name", "value"))  

Cuando se vincula el proyecto, el vinculador produce un error LNK2038 si el proyecto contiene dos objetos que tengan el mismo name pero cada uno tiene diferente value. Utilice esta directiva pragma para evitar la vinculación de archivos objeto incoherentes.

El nombre y el valor son literales de cadena y siguen las reglas para los literales de cadena con respecto a los caracteres de escape y concatenación. Distinguen entre mayúsculas y minúsculas y no pueden contener comas, el signo igual, comillas dobles o el carácter null.

En este ejemplo se crean dos archivos que tienen números de versión diferentes para la misma etiqueta de versión.

// 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")  

Si compila ambos archivos mediante la línea de comandos cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp, recibirá el error LNK2038.

Directives pragma y la palabra clave __pragma

Mostrar: