C · Avançado · Inglês · Técnico
atexit
Função que registra outra função para ser chamada automaticamente quando o programa termina normalmente, por return em main ou por exit. As funções rodam na ordem inversa do registro.
Onde usar
Útil para limpar recursos globais, como fechar um arquivo de log. O padrão garante ao menos 32 registros.
Em código
void limpa(void) { puts("limpando"); }
int main(void) {
atexit(limpa);
puts("trabalhando");
return 0; // imprime limpando depois
}Exemplos
Register the cleanup function with atexit.
Registre a função de limpeza com atexit.
atexit handlers run in reverse order.
Os tratadores do atexit rodam em ordem inversa.
Cuidado
Contar com a limpeza quando o programa termina por abort, por um sinal fatal ou por _Exit: nesses casos as funções não rodam.
Origem
Do inglês at exit, na saída.