detect_mismatch
pragma
Inserta un registro en un objeto. El vinculador comprueba estos registros para detectar potenciales discordancias.
Sintaxis
#pragma detect_mismatch(
"name",
"value")
Comentarios
Cuando se vincula el proyecto, el vinculador produce un error LNK2038 si el proyecto contiene dos objetos que tengan el mismo nombre pero cada uno tiene un valor diferente. Utilice esta 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.
Ejemplo
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.