Partager via


Avertissement des outils Éditeur de liens LNK4092

la section accessible en écriture partagée « section » contient des réinstallations ; l’image peut ne pas s’exécuter correctement

L’éditeur de liens émet cet avertissement chaque fois que vous avez une section partagée pour vous avertir d’un problème potentiellement grave.

Une façon de partager des données entre plusieurs processus consiste à marquer une section comme « partagée ». Toutefois, le marquage d’une section comme partagée peut entraîner des problèmes. Par exemple, vous disposez d’une DLL qui contient des déclarations telles que celles-ci dans une section de données partagées :

int var = 1;
int *pvar = &var;

L’éditeur de liens ne peut pas résoudre pvar , car sa valeur dépend de l’emplacement où la DLL est chargée en mémoire, de sorte qu’elle place un enregistrement de déplacement dans la DLL. Lorsque la DLL est chargée en mémoire, l’adresse de var peut être résolue et pvar affectée. Si un autre processus charge la même DLL, mais ne peut pas le charger à la même adresse, la réinstallation de l’adresse var est mise à jour pour le deuxième processus et l’espace d’adressage du premier processus pointe vers une adresse incorrecte.