ExpertiDict

C · Avançado · Inglês · Técnico

atexit

/ˈæt.ɛɡ.zɪt/substantivo

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.

Veja também

Todos os termos de C