Delen via


Waarschuwing van linkerhulpprogramma's LNK4092

Gedeelde beschrijfbare sectie 'sectie' bevat verplaatsingen; image werkt mogelijk niet correct.

Opmerkingen

De linker geeft deze waarschuwing wanneer u een gedeeld segment hebt om u te waarschuwen voor een mogelijk ernstig probleem.

Een manier om gegevens tussen meerdere processen te delen, is door een sectie te markeren als 'gedeeld'. Het markeren van een sectie als gedeeld kan echter problemen veroorzaken. U hebt bijvoorbeeld een DLL met declaraties zoals deze in een sectie met gedeelde gegevens:

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

De linker kan pvar niet oplossen omdat de waarde ervan afhankelijk is van waar de DLL in het geheugen is geladen, dus er wordt een herlocatierecord in de DLL geplaatst. Wanneer het DLL-bestand in het geheugen wordt geladen, kan het adres van var worden opgelost en pvar toegewezen. Als een ander proces dezelfde DLL laadt, maar het niet op hetzelfde adres kan laden, wordt de herlocatie voor het adres van var het tweede proces bijgewerkt en verwijst de adresruimte van het eerste proces naar het verkeerde adres.