Kezdőoldal » Számítástechnika » Programozás » Mit gondoltok arrol, ha nem...

Mit gondoltok arrol, ha nem ellenorizzuk le a malloc () visszateresi erteket, ha csak keves memoriat foglaltunk?

Figyelt kérdés
Tehat pl. 16kb-ot, vagy annal kevesebbet? Eleg valoszinutlen hogy emiatt lefagyjon a program nem? Ha a malloc sikertelenul terne vissza ott mar amugy is komoly bajok lennenek (kekhalal). Es emelett eleg zavaro hogy ha a malloc-ot egy if()-be tesszuk akkor utana minden sort beljebb kell kezdeni egy tabulatorral feleslegesen. A kerdes amugy onnan jutott eszembe, hogy open source forraskodot nezek (jol ismert program forraskodja, es abban latom hogy nincs mindenhol kezeleve a malloc() visszateresi ertke hogy NULL-e.

2015. nov. 21. 21:55
 1/9 anonim válasza:

"Es emelett eleg zavaro hogy ha a malloc-ot egy if()-be tesszuk akkor utana minden sort beljebb kell kezdeni egy tabulatorral feleslegesen"


Miért kéne? Lekezelheted a hibát az aktuális függvényen kívül is, már ha egyáltalán akarod kezelni.


A malloc-ot is beburkolhatod egy olyan függvénnyel, ami lokálisan lekezeli valahogy a hibát és visszaadja a malloc nem NULL visszatérési értékét.

2015. nov. 21. 22:02
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Ha 110%-ban biztos vagy benne, hogy az a malloc nem fog tobbszazszor lefutni, akkor nyugodtan elhagyhatod az ellenorzest.
2015. nov. 22. 01:58
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

"utana minden sort beljebb kell kezdeni"


Mivan??



p = malloc(sizeof(int));

if (p==NULL) {

__//jaj

}

..

2015. nov. 22. 02:00
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
A kérdés az, hogy egyáltalán hogyan lehet lekezelni a memória hiányt? Ezt a hibát úgy tudod kezelni, hogy a programod leáll, hiszen hogyan működne tovább memória nélkül? Egyszerűen nem tudja elvégezni a dolgát.
2015. nov. 22. 14:52
Hasznos számodra ez a válasz?
 5/9 anonim válasza:

"Ezt a hibát úgy tudod kezelni, hogy a programod leáll, hiszen hogyan működne tovább memória nélkül?"


Felszabadítani is lehet, kevésbé kritikus dolgokat. Például egy cache-t. Alkalmazástól függ.

2015. nov. 22. 16:01
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

"Felszabadítani is lehet, kevésbé kritikus dolgokat. Például egy cache-t. Alkalmazástól függ."


Ennyi erővel minek kell cache, ha mindegy a futásidő? Ha kevesebb memóriával meg tudod oldani és csak ez számít, akkor bele sem kell tenni a cache-t.

2015. nov. 22. 16:34
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:

Utolsó:

értjük értjük, hogy általában vége a dalnak, de ettől függetlenül lehetnek esetek, amikor nem kell rögtön crashelni

2015. nov. 23. 16:06
Hasznos számodra ez a válasz?
 8/9 anonim válasza:

#6: "Ennyi erővel minek kell cache, ha mindegy a futásidő? Ha kevesebb memóriával meg tudod oldani és csak ez számít, akkor bele sem kell tenni a cache-t."


Ki mondta, hogy mindegy a futásidő?


Feladattól függően bizony számíthat a futási idő, és előfordulhat, hogy egy cache bevezetésével gyorsítható a program. Ez persze csak egy példa arra az esetre, amikor tárolunk valamit a memóriában, amit viszont nyugodtan fel lehet szabadítani olyan kritikus pillanatokban, amikor fogytán a memória.

2015. nov. 30. 20:44
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

"amit viszont nyugodtan fel lehet szabadítani olyan kritikus pillanatokban, amikor fogytán a memória."


Tehát mindegy a futásidő. Pontosan erről beszéltem, ez nem feltétlenül elfogadható ha lassítod a programot.

2015. dec. 1. 22:29
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!