-
Data: 2011-05-05 23:29:22
Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 04/05/2011 19:49, p...@p...onet.pl wrote:
>> tamto mowienie o 'wyciekach' na statycznej tablicy mz
>> mozna porownac do sytuacji gdy nie zwalnia sie juz nie uzywanych
>> elementow stlowego wektora - to nie sa defakto wycieki tylko zapchanie
>> sobie kontenera
>
> te dwie rzeczy tj 'niepoodznaczanie rekordow w tablicy' i
> 'leaki w systemach z new' sa jakosciowo tak roznymi rzeczami
> i roznia sie tak jak Francuz od Czeczena albo Gruszka od Marsa,
>
> tak ze ten kto chce tu widziec to samo albo nawet podobne rzeczy
> robi sobie sadlo z mozgu - nie chce mi sie wymieniac wszystkich
> ych roznic ale chocby wspomiane ze druga z tych reczy to leaki
> a pierwsza nie, albo np to ze w systemach z 'new' wyciec moze
> wszystko, wyciec moze 127 albo ktoras z instancji 16 milionow
> 777 typow
Ale co to zmienia? Typ jest tutaj jedynie jakąś konstrukcją na poziomie
języka, w statycznej tablicy możesz mieć jeden 'typ' w sensie typu C,
ale ten typ może wyglądać np. tak
struct Samolot
{
unsigned typ_samolotu;
float wysokość;
...
};
Wtedy też może wyciec któraś z instancji 16 milionów 777 typów
reprezentowanych 16 milionów 777 możliwymi wartościami pola typ_samolotu.
> - gdy w c ze statycznymi tablicami nawet jak ktos zapchalby
> tablice (a jest to naprawde wyjakowo GRUBY blad i zeby go ZROBIC
> trzeba sie starac tak samo mocno jak o to by nie zrobic jakiegos
> leaka bo o to jest dla odmiany nietrudno)
W zależności jakie masz algorytmy i struktury może być dokładnie tak
samo łatwo. W ogólnym przypadku będzie to przecież wyglądać tak, że dla
jakiejś funkcji np.
int alokuj_samolot()
będziesz musiał zawołać
void zwolnij_samolot(int idx);
jeśli nie zawołasz, to masz "martwy" element w tablicy, którego już nie
używasz, a który nigdy nie będzie mógł być wykorzystany ponownie na
zaalokowanie innego samolotu. W czym niby nie wywołanie free dla malloc
jest łatwiejsze niż nie wywołanie zwolnij_samolot dla alokuj_samolot?
> to przy probie wstawienia
> czegos do tej konkretnej tablicy z konkretnymi instancjami konkretnego
> typu komunikat wypisze jawnie "brak miejsca w tablicy samolotow"
No a malloc jak zajmiesz całą dostępną pamięć zwróci null, co możesz
sobie też przecież zamanifestować wypisaniem komunikatu.
> pozatym te instancje ktore nie sa wylaczone/odznaczone sa po prostu
> uzywane i to widac
Do czego są używane? I gdzie to widać?
Następne wpisy z tego wątku
- 05.05.11 23:29 Michoo
- 05.05.11 23:39 Michoo
- 06.05.11 00:44 Andrzej Jarzabek
- 06.05.11 00:53 Michoo
- 06.05.11 04:31 Wojciech \"Spook\" Sura
- 06.05.11 04:39 Wojciech \"Spook\" Sura
- 06.05.11 04:45 Wojciech \"Spook\" Sura
- 06.05.11 06:41
- 06.05.11 07:11 kenobi
- 06.05.11 07:39 p...@p...onet.pl
- 06.05.11 07:45 Jacek Czerwinski
- 06.05.11 07:53 Andrzej Jarzabek
- 06.05.11 08:34 Michal Kleczek
- 06.05.11 08:39 p...@p...onet.pl
- 06.05.11 08:42 kenobi
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-19 koniki obsiadły kolejki i numerki
- 2024-12-18 Poseł oszukany "na policjanta"
- 2024-12-18 znów chory psychicznie
- 2024-12-18 Katowice => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-18 Poznań => Dyspozytor Międzynarodowy <=
- 2024-12-18 Katowice => System Architect (background deweloperski w Java) <=
- 2024-12-18 Gdańsk => System Architect (Java background) <=
- 2024-12-18 Warszawa => Helpdesk Specialist <=
- 2024-12-18 Katowice => Kierownik Działu Zarządzania Platformą Wirtualizacji i
- 2024-12-18 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-18 Żerniki => Employer Branding Specialist <=
- 2024-12-18 Gliwice => Specjalista ds. public relations <=
- 2024-12-18 Kablówka z modułem CAM
- 2024-12-18 Warszawa => Spedytor międzynarodowy <=
- 2024-12-18 Wróblewo => Analityk finansowy <=