Ctrl + C Na Alocação Dinâmica [RESOLVIDO]

1. Ctrl + C Na Alocação Dinâmica [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/06/2012 - 00:42h

Olá a todos.

Uma dúvida para desencargo de consciẽncia, apesar de que seja um tanto óbvio, apenas não sei como se dá esse fato:

Se um programa em C ou C++, linguagens que não dispõem do chamado "Garbage", que desaloca memória quando não é mais usada ou objetos no caso de C++, é encerrado de súbito com Ctrl+C, ele fica com essa parte da memória indisponibilizada pela desalocação não ter sido feita? Sim ou não?

Se sim, qual o tratamento do sistema operacional para desalocar esse espaço?

Se não, não há modo de ser feito isto e simplesmente deve-se evitar finalização brusca a qualquer custo?

Creio que a resposta seja sim, falta apenas entender como ocorre.

Desde já agradeço.


  


2. MELHOR RESPOSTA

???
gokernel

(usa Linux Mint)

Enviado em 15/06/2012 - 11:02h

Quando termina o programa o OS se encarrega de eliminar toda a memoria utilizada ... por favor me corrijam se eu estiver errado.

Faça um teste simples utilizando a funcao ( atexit ):

void saindo (void) { printf("funcao saindo executada\n"); }

E antes do loop principal use:
atexit (saindo);

So não faço o teste agora por esta usando o SmartPhone e sem vontade de utilizar o note ... RESUMO: preguiça mesmo. ;)


3. Re: Ctrl + C Na Alocação Dinâmica [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/06/2012 - 00:02h

Blz!!!

Então o problema só ocorre mesmo se ficar um malloc()/calloc() sem dar free() prá liberar a alocação.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts