Hozzászólások
-
SzerzőBejegyzés
-
ilyen hibám nekem is volt, mikor frissítettem edgy-re
ELaci wrote:Ez a bestbyte nevű zöld-fekete vacak muszáj hogy letöltödjön a gépemre csiga típusú lassúsággal, 1 MB méretben?nem, adblock plus pl. 😉
argouml
argouml
Már nincs gondom. 😉
Az fgv_2 nem szabadít fel, csak használ.
A g_strdup_printf-es példámat böngészd át. Az elsőben szivárog a memória.„Mert azok nem arról szólnak. (De a függvény leírása kiterjed arra, hogy a) gondoskodni kell a felszabadításról, b) esetleg a lefoglalásról is, c) objektum esetén, esetleg csak a létrehozásról)”
Attól még normálisan is meg lehetne írni őket. Először azokból próbáltam okosodni…
Néhol elég hiányos a leírás…
Objektumok esetén is kell néha egy g_object_unref, mert máskülönben csúnya dolgok történnek.Kösz!
vizsla wrote:Ez miért nem jó?
g_strdup_printf(„date: %04d.%02d.%02d”, year, month, day);Természetesen jó, írtam is, hogy ennek nincs értelme, csak nem jutott jobb példa az eszembe.
vizsla wrote:a szülő objektum megszünésével az összes gyerek által lefoglalt terület automatikusan felszabadul.Igen ezt tudom pl. egy konténer törlésével a benne lévő widgetek is pusztulnak. 🙂
vizsla wrote:Noha ez a legkényelmesebb módja, viszont a C-ben munkás dolog objektumot létrehozni. (Ha érdekel, akkor GObject-ben tudok segíteni.)
Egyszerűbb, persze a másik módszer, viszont könnyen el lehet feledkezni róla… ilyenkor szivárog a memória.Kár, hogy ilyenkor szivárog…
Legjobb, hogy gtk-s példaprogramokban is láttam ilyeneket.Na, akkor írok egy konkrét példát, nincs semmi értelme, de a problémám remélhetőleg ebből látszódni fog:
1.
gchar *date = g_strdup_printf(„date: %s”, g_strdup_printf(„%04d.%02d.%02d”, year, month, day) );
g_free(date);2.
gchar* text = g_strdup_printf(„%04d.%02d.%02d”, year, month, day);
gchar *date = g_strdup_printf(„date: %s”, text);
g_free(date);
g_free(text);Tehát az első esetben van-e memory leak?
-
SzerzőBejegyzés
legutóbbi hsz