Lazarusta tekisi mieli joskus kokeilla. Sanokaapa te jo kokeilleet, onko siinä muistiroskien keräystä?
Englanniksi termi on garbage collection:
http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)
Jos ei ole, saako jotenkin? C-kieleenkin saa. (Boehm: http://www.hpl.hp.com/personal/Hans_Boehm/gc/ )
Freepascal ja Lazarus
8
357
Vastaukset
- garpage
..kokeile vaan, kaikissa kielissä saa muistivuotoja aikaan ellei varaukset ja vapautukset ole hanskassa, omia tuotoksia on testattu siten että ohjelma pyörii kuukauden ilman sammutteluja, jos muistivuotoja olisi niin luulisi niiden jo ilmenneen, koska tuo alkaa jo olla wintoosan maksimi pystyssäolo aikoja, muisti vuotojen toteamiseen on myös olemassa erillisiä ohjelmia google "memory leak"
- Automaattinen on automaattinen
"kaikissa kielissä saa muistivuotoja aikaan ellei varaukset ja vapautukset ole hanskassa"
Ei, et ymmärrä mitä kysyn. Automaattinen roskien keruu tarkoittaa sitä, että itse ei tarvitse käsin varata ja vapauttaa muistia omassa koodissaan. Silloin ei tule muistivuotoja, ellei aivan tarkoituksella sellaista tee. Tämä tekniikka kehitettiin jo 1950-luvulla.
Yritän uudelleen: pakottaako Lazarus minut hoitamaan muistinhallinnan aina itse, vai voinko _tarpeen mukaan_ käyttää siihen automaattisia menetelmiä? Minkälaisia keinoja se tarjoaa muistinhallintaan, jotta voin keskittyä oleellisempien ongelmien ratkomiseen tehdessäni ohjelmiani?
Google-haku ei antanut mitään tietoa, vaikka lisäsin siihen Lazarus-sanan. Jo ensimmäisellä sivulla oli C-kieleen liittyvä osuma. - jöjöjö
voisitko antaa esimerkin Java-ohjelmasta, jossa on muistivuoto?
- a&a
Automaattinen on automaattinen kirjoitti:
"kaikissa kielissä saa muistivuotoja aikaan ellei varaukset ja vapautukset ole hanskassa"
Ei, et ymmärrä mitä kysyn. Automaattinen roskien keruu tarkoittaa sitä, että itse ei tarvitse käsin varata ja vapauttaa muistia omassa koodissaan. Silloin ei tule muistivuotoja, ellei aivan tarkoituksella sellaista tee. Tämä tekniikka kehitettiin jo 1950-luvulla.
Yritän uudelleen: pakottaako Lazarus minut hoitamaan muistinhallinnan aina itse, vai voinko _tarpeen mukaan_ käyttää siihen automaattisia menetelmiä? Minkälaisia keinoja se tarjoaa muistinhallintaan, jotta voin keskittyä oleellisempien ongelmien ratkomiseen tehdessäni ohjelmiani?
Google-haku ei antanut mitään tietoa, vaikka lisäsin siihen Lazarus-sanan. Jo ensimmäisellä sivulla oli C-kieleen liittyvä osuma.Kaikki riippuu vähän millaisia menetelmiä käytät. On tyypillistä että pascalissa joutuu käyttämään vähemmän pointtereita kuin esim. C:ssä.
Google haussa kannattaa käyttää myös Lazaruksen tilalla Delphi tai Pascal hakusanaa.
Kannatanee tehdä alkuun joku testiohjelma.
- ......................
Ei ole.
Ohjelmoi kauniisti, älä rumasti. Älä odota että joku tulee siivoamaan paskasi vaan siivoa itse oma työtilasi.
Ja tottakai GC:n saa koodattua periaatteessa mihin tahansa kieleen, Pascaliinkin. Eihän se vaadi muuta kuin objectpoolin ja referenssien hallinnan pakottamista ja sitten kaikkien omien luokkien pakottamista tähän GC frameworkkiin. Tosin tietenkin sitä pystyy edelleen ampumaan itseään jalkaan jos ei käytäkään sitä frameworkiä vaan sooloilee sen ulkopuolella osassa koodia.- On muuten...
.... Jumala. Tai yksi kovasta nelikosta.
Patternseista löytyy tapa toteuttaa se GC jos sitä kaipaa. Boehm oli yksi kirjoittaja. - Vastaus sulta
"Ohjelmoi kauniisti, älä rumasti. Älä odota että joku tulee siivoamaan paskasi vaan siivoa itse oma työtilasi."
Kyse ei ole siitä osaanko, vaan haluanko.
"Ja tottakai GC:n saa koodattua periaatteessa mihin tahansa kieleen, Pascaliinkin."
Joissakin se on valmiina. Ratkesi jo kieliongelma tässä näin.
- xxxxx
Ainakin basiceissa tuo roskien poisto on ollut dynaamisissa merkkijonoissa aina.
Sivulla http://www.allapi.net/vbtutor/iapi5.shtml
on kerrottu miten saadaan nähtyä muistin määrä. Tee lyhyt testiohjelma ja tulosta muistin määrä ennen toimintoa ja sen jälkeen.
Luulen kuitenkin että muistin vapautus tapahtuu sovelluksen sisällä eli muistia ei vapauteta windowsille. Tosin koska Windows hoitaa muistinkäsittelyn niin se on varmaan siitä riippuvainen.
Tämä nyt meni vähän ohi kysymyksesi eikä oikein vastannut mihinkään (:
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
SDP haluaa LISÄÄ veroja bensa-autoille!
Sdp:n vaihtoehtobudjetti esittää polttomoottoriautoille lisää veroja Sdp esittää tuoreessa vaihtoehtobudjetissaan verot17717462Riikka se jytkytti BKT:stä nyt 0,3 prosenttia pois
Ja vain kolmessa kuukaudessa! Vuositasollahan tuo tarkoittaa reilun prosentin pudotusta. Pärjäisi varmaan lasketteluss4710034Vasemmistoaate on aatteista jaloin
Kaikki saavat ja kukaan ei jää ilman. Kuka tuollaista voisi vastustaa?615917Antti Lindtman kiitti valtiovarainministeri Purraa
Ministeri Purra kertoi ottavasa vastuun EU:n alijäämämenettelyyn joutumisesta. Hän myös sanoi tietävänsä, että Lindtman463210Suomalaisten enemmistö on (ateisteja / fiksuja / sosialisteja)
Tai jokin noiden yhdistelmä, koska S-ryhmän markkinaosuus päivittäistavarakaupasta on yli 50 prosenttia.212911Brittiläinen vasemmistolehti: Sanna Marin oli vihdoin rehellinen
Nyt tulee pahasti lunta tupaan Seiskan tähtitytölle. Ex-pääministerin kirjaa arvostellaan latteuksista ja itsekehusta.252822"Purra löylytti oppositiota", sanoi naistoimittaja Pöllöraadissa
Kyllä, Purra tekee juuri sitä työtä mitä hänen tuossa asemassa pitää tehdä, hän antaa oppositiolle takaisin samalla mita562692Henkilökohtaisia paljastuksia Dubaista - Kohujulkkis Sofia Belorf on äitipuoli ja puoliso!
Tiesitkö, että Sofia on äitipuoli ja rakastava puoliso? Sofia Belorf saa oman sarjan, jossa seurataan hänen Bling Bling862628- 1381890
Alexander C. G. riisti demari-Veijolta arvonimen
"Stubb myönsi 66 arvonimeä ja peruutti yhden arvonimen. Presidentti Tarja Halonen myönsi Baltzarille kulttuurineuvoksen431870