Alokacja pamięci: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
Usunięte 23 bajty ,  2 miesiące temu
m
Powtórzenie w tekście
(źródła/przypisy)
m (Powtórzenie w tekście)
 
Dla przykładu w języku [[c (język programowania)|C]], do ręcznej dynamicznej alokacji i dealokacji pamięci służą [[podprogram|funkcje]] [[Biblioteka standardowa języka C|biblioteki standardowej]]: <code>[[malloc]]</code> (alokacja) i <code>[[free (libc)|free]]</code> (dealokacja); w języku [[C++]] służą do tego specjalne słowa kluczowe ([[operator (programowanie)|operatory]]): <code>[[New (programowanie obiektowe)|new]]</code> oraz <code>[[delete]]</code>.<ref>{{Cytuj |tytuł = Alokacja pamięci |data dostępu = 2018-06-10 |opublikowany = msdn.microsoft.com |url = https://msdn.microsoft.com/pl-pl/library/hk1k7x6x.aspx |język = pl}}</ref>
 
Najpopularniejsze obecnie systemy operacyjne automatycznie zwalniają pamięć przydzieloną procesom, gdy te zakończą działanie bez uprzedniej dealokacji otrzymanej pamięci. Na poziomie aplikacji pominięcie dealokacji doprowadza do [[wyciek pamięci|wycieku pamięci]], co w przypadku aplikacji działających przez długi czas (np. serwery, lub inne aplikacje wykonujące dużo dynamicznej alokacji i dealokacji pamięci), jest uważane za poważny błąd, jako, iż z biegiem czasu proces taki będzie potrzebował coraz więcej pamięci, co może doprowadzić nawet do jego zawieszenia, unicestwienia, lub znacznego spowolnienia działania całego systemu lub też jego zawieszenia.
 
Alokacja pamięci nie powiedzie się, gdy nie istnieje wolny '''ciągły''' obszar pamięci o wymaganym rozmiarze (patrz [[Fragmentacja pamięci|fragmentacja zewnętrzna]]).<ref>{{Cytuj |tytuł = Alokacja pamięci |czasopismo = Encyklopedia Zarządzania |data dostępu = 2018-06-10 |url = https://mfiles.pl/pl/index.php/Alokacja_pami%C4%99ci |język = pl}}</ref>
1

edycja

Menu nawigacyjne