setjmp
Salva o estado atual do programa.
int setjmp(
jmp_buf env
);
Parâmetros
- env
Variável na qual o ambiente é armazenado.
Valor de retorno
Retorna 0 depois de salvar o ambiente de pilha. Se setjmp retorna no resultado de uma chamada de longjmp , retorna o argumento de value de longjmp, ou se o argumento de value de longjmp for 0, retornará 1. setjmp de. Não há nenhum retorno de erro.
Comentários
A função de setjmp salva um ambiente da pilha, que você pode restaurar subsequentemente, usando longjmp. Quando usado junto, setjmp e longjmp fornecem um modo de executar um local não goto. Normalmente são usados para transmitir o controle de execução para o código de tratamento de erro ou de recuperação em uma rotina chamado anteriormente sem usar a chamada normal ou as convenções de retorno.
Uma chamada para setjmp salva o ambiente atual da pilha em env. Uma chamada subsequente a longjmp restaura o controle ao ambiente e retorna o ponto imediatamente depois da chamada de setjmp correspondente. Todas as variáveis (exceto variáveis do registro) acessíveis ao controle pull rotina contêm os valores que tinham longjmp quando foi chamado.
Não é possível usar setjmp para ignorar nativos no código gerenciado.
Observação setjmp e longjmp não dão suporte a semântica do objeto C++. Em programas C++, use o mecanismo de controle de exceções das linguagens C++.
Para obter mais informações, consulte Usando o setjmp e o longjmp.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
setjmp |
<setjmp.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Exemplo
Consulte o exemplo de _fpreset.
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.