eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingtypologia errorow aplikacjiRe: typologia errorow aplikacji (a jeszcze leipaj i realoki)
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Date: Fri, 06 May 2011 11:41:29 +0200
    Organization: http://onet.pl
    Lines: 36
    Message-ID: <iq0fot$vs$1@news.onet.pl>
    References: <5...@n...onet.pl>
    <5...@n...onet.pl> <ipvbu4$du6$1@news.onet.pl>
    <o...@l...medicom.local>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1304674909 1020 83.238.197.12 (6 May 2011 09:41:49 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Fri, 6 May 2011 09:41:49 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20110303
    Icedove/3.0.11
    In-Reply-To: <o...@l...medicom.local>
    Xref: news-archive.icm.edu.pl pl.comp.programming:190165
    [ ukryj nagłówki ]

    W dniu 06.05.2011 06:31, Wojciech "Spook" Sura pisze:
    > Prawdę mówiąc, w tym przypadku zgadzam się z autorem pierwszego posta.
    > Twój przykład nie ma wycieku pamięci jako takiego, tylko nieumiejętne
    > zarządzanie tablicą. Jeśli mam tablicę od 0 do 9 i ustalę, że pierwszym
    > elementem jest 5, to mimo tego w każdym miejscu programu nadal jestem w
    > stanie dostać się do pierwszych czterech elementów. Jeśli napiszę zaś
    > funkcję, która zaalokuje pamięć i jej nie zwolni (oraz nigdzie nie
    > pozostawi do niej wskaźnika), to w praktyce *nie* jestem w stanie do tej
    > pamięci już się dostać.
    Alokator sobie gdzieś istnieje, więc MOŻESZ się do niej dostać.
    Bezpieczne to nie jest, ale możliwe ;)

    > Fir mówi o wyciekach pamięci na poziomie zarządzania pamięcią
    > operacyjną, Ty mówisz o "wyciekach" na poziomie logiki programu.
    W którymś z postów już napisałem, że ograniczanie się do czystych
    "memory leaks" na poziomie systemu operacyjnego jest sztuczne, bo
    mechanizm "wycieku" zasobów jest ten sam i dla pamięci, i dla puli
    obiektów i dla socketów: w momencie gdy pozbywamy się referencji na
    obiekt nie zwalniamy go.

    A prawie w każdym systemie musimy mieć dynamiczny przydział zasobów - w
    ten czy inny sposób, więc zachwalanie jakiejś metodyki dlatego, że w
    niej nie wycieka "czysta pamięć" jest bez sensu, bo błąd tego samego
    typu może spowodować wyciek innego zasobu.

    > Inaczej: napisz mi taki program (w C++), który używa tylko obiektów
    > alokowanych statycznie i zgłosi wyciek pamięci:
    Pokazałem kod w którym raz jest alokacja oparta o new/delete a raz
    przydział z puli. Reszta kodu jest DOKŁADNIE taka sama. Czy to znaczy,
    że w drugiej sytuacji nic nam nie "wyciekło"?
    Imo wyciekło, tylko nie "czysta pamięć" a obiekty z puli, ale mechanizm
    jest dokładnie ten sam.

    --
    Pozdrawiam
    Michoo

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: