🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #16310

Re: hoe memory dealloceren onder Linux (in C++) ?

#16310
From: Erik Vanherck
Date: Tue, 23 May 2000 00:00
21 lines
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-mail
References: <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