Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
a secção «secção» escrita partilhada contém deslocalizações; imagem pode não ser executada corretamente
Observações
O vinculador emite esse aviso sempre que você tem uma seção compartilhada para avisá-lo de um problema potencialmente sério.
Uma maneira de compartilhar dados entre vários processos é marcar uma seção como "compartilhada". No entanto, marcar uma seção como compartilhada pode causar problemas. Por exemplo, você tem uma DLL que contém declarações como esta em uma seção de dados compartilhados:
int var = 1;
int *pvar = &var;
O vinculador não pode resolver pvar porque seu valor depende de onde a DLL é carregada na memória, portanto, ele coloca um registro de realocação na DLL. Quando a DLL é carregada na memória, o endereço de var pode ser resolvido e pvar atribuído. Se outro processo carregar a mesma DLL, mas não puder carregá-la no mesmo endereço, a realocação para o endereço de var será atualizada para o segundo processo, e o espaço de endereço do primeiro processo apontará para o endereço errado.