setjmp
Salva o estado corrente do programa.
int setjmp(
jmp_buf env
);
Parâmetros
- env
Variável em que o ambiente está armazenado.
Valor de retorno
Retorna 0 após salvar o ambiente de pilha.If setjmp Retorna sistema autônomo resultado de um longjmp telefonar, ela retorna o value argumento de longjmp, ou se a value argumento de longjmp é 0, setjmp Retorna 1. Não há nenhum retorno de erro.
Comentários
The setjmp função salva um ambiente de pilha, que, em seguida, restauração, usando longjmp. Quando usados juntos, setjmp e longjmp fornecem uma maneira de executar um não-local goto. Eles são normalmente usados para passar o controle de execução para código de tratamento de erros ou recuperação em uma rotina anteriormente chamado sem usar a chamada normal ou retornam as convenções.
Uma telefonar para setjmp salva o ambiente corrente de pilha em env. Uma telefonar subseqüente a longjmp Restaura o ambiente salvo e retorna o controle até o ponto imediatamente após o correspondente setjmp Chame. Todas as variáveis (exceto variáveis de registro) acessíveis para a rotina receber controle contêm os valores que tinham quando longjmp foi chamado.
Não é possível usar setjmp Para pular de nativo para código gerenciado.
Observação setjmp e longjmp não oferecem suporte à semântica de objeto C++. Nos programas do C++, usar o mecanismo de tratamento de exceção de C++.
Para obter mais informações, consulte Usando setjmp e longjmp.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
setjmp |
<setjmp.h> |
Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Consulte o exemplo para _fpreset.
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.