Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
'pointer': registro de ponteiro de quadro 'register' modificado por código de assembly embutido
Observações
Um registro de ponteiro de quadro foi modificado. Você deve salvar e restaurar o registro em seu bloco de assembly embutido ou variável de quadro (local ou parâmetro, dependendo do registro modificado) ou seu código pode não funcionar corretamente.
Example
O exemplo a seguir gera C4731:
// C4731.cpp
// compile with: /W1 /LD
// processor: x86
// C4731 expected
void bad(int p) {
__asm
{
mov ebp, 1
}
if (p == 1)
{
// ...
}
}
EBP é o ponteiro de quadro (O FPO não é permitido), e está sendo modificado. Quando p for referenciado posteriormente, ele será referenciado em relação a EBP. Mas EBP foi substituído pelo código, portanto, o programa não funcionará corretamente, e poderá até falhar.