Article View: be.comp.programming
Article #16310Re: hoe memory dealloceren onder Linux (in C++) ?
From: Erik Vanherck
Date: Tue, 23 May 2000 00:00
Date: Tue, 23 May 2000 00:00
21 lines
1832 bytes
1832 bytes
> Wat jij deed was:
> - geheugen alloceren en pointer ernaar bijhouden
> - pointer naar ergens anders laten wijzen (name = "Just a string";)
> m.a.w. je bent je gealloceerd geheugen aan het leaken.
> - pointer deleten die niet naar een stuk door jouw gealloceerd
> geheugen wijst ("Just a string" zit gewoon ergens ingebakken
> in je geheugen door de compiler).
Om specifieker te zijn : de gcc compiler voert zeker met -O2 optimalisaties
uit op string constanten zoals "...". Hij probeert zo weinig mogelijk
geheugen daarvoor te gebruiken door bv twee indentieke constante strings
naar dezelfde plek te laten wijzen. In essentie ben je dus geheugen aan het
deleten dat je later terug nodig kunt hebben. Als je absoluut die dingen
terug wil activeren heb je de command line optie -fwritable-strings nodig
maar ergens in de docs komt ongeveer het volgend zinnetje voor : "enabling
writable constant strings is a very very bad idea ..."
daarom dat zonder die optie sprintf("....",".....") zeker een coredump
genereert en dat met die optie je raar gedrag mag verwachten ...
btw : als je toch c++ gebruikt waarom dan niet ineens de strings uit de STL
gebruiken ipv char* (ook wel c-strings genoemd) ?
Technical Details
Message-ID:
<392abdcd$0$12151@bru5-newsr2.be.uu.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<39287163.8A662AF4@village.uunet.be> <3928FE5D.20E0E360@easics.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,d48d860c4c351de X-Google-Attributes: gidfcea4,public From: "Erik Vanherck" <Erik.Vanherck@village.uunet.be> Subject: Re: hoe memory dealloceren onder Linux (in C++) ? Date: 2000/05/23 Message-ID: <392abdcd$0$12151@bru5-newsr2.be.uu.net> X-Deja-AN: 626355129 References: <39287163.8A662AF4@village.uunet.be> <3928FE5D.20E0E360@easics.be> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211 X-Trace: bru5-newsr2.be.uu.net 959102413 12151 212.190.4.20 X-MSMail-Priority: Normal Newsgroups: be.comp.programming