--- "Victor A. Wagner Jr." <[EMAIL PROTECTED]> wrote: > At 22:23 2006-12-29, Ray Devore wrote: > >--- "Victor A. Wagner Jr." <[EMAIL PROTECTED]> > wrote: > > > At 03:32 2006-12-29, Nico Heinze wrote: > > > >--- In [email protected], "Joseph A. > Marrero" > > > <[EMAIL PROTECTED]> > > > >wrote: > > > > > > > > > > Hmmm. Thats pretty interesting. On MS > Windows, > > > malloc and > > > > > new internally use the same function (I > can't > > > remember the > > > > > name) to allocate memory. So, I would think > they > > > would be > > > > > compatible in most cases where > > > constructors/destructors are > > > > > not involved. I use malloc in legacy C > libraries > > > that I > > > > > still use in my C++ projects and have not > ever > > > noticed a > > > > > problem in the past. > > > > > > > > > > In short, I agree malloc should not be used > in > > > C++ code > > > > > except for cases where you are explicitly > using > > > C code > > > > > within a C++ project. I could be wrong... > who > > > knows. > > > > > > > > > > --- Nico Heinze <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > --- In [email protected], "Paul > Herring" > > > > > > <pauljherring@> wrote: > > > > > > > > > > > > > > On 12/28/06, Nico Heinze <grollnar@> > wrote: > > > > > > > > > > > > > > > 4) I know that many people don't trust > my > > > words here, > > > > > > > > but the result of mixing new/delete > with > > > > > > malloc/calloc/free > > > > > > > > is compiler and runtime specific; > > > sometimes it works > > > > > > without > > > > > > > > hassle, in other cases it can easily > kill > > > your server > > > > > > > > applications without any chance to > find > > > out why. > > > > > > > > > > > > > > It is perfectly Legal[tm] to have both > > > new/delete and > > > > > > > malloc/free in the same program. What is > > > undefined is > > > > > > > deleting a malloced pointer and freeing > a > > > newed > > > > > > pointer. > > > > > > > (And incidentally, and slightly OT, is > > > delete[]ing a > > > > > > newed > > > > > > > pointer and deleting a new[]ed pointer) > > > > > > <snip> > > > > > > > > > > > > Though it is legal, I have experienced a > case > > > where using > > > > > > new/delete and malloc()/free() in the same > > > program crashed > > > > > > the application. After having removed all > > > free() calls and > > > > > > re-ordered everything such that only a > very > > > few malloc() > > > > > > calls took place at the beginning of the > > > application and > > > > > > afterwards only new/delete were used, > > > everything ran fine > > > > > > until I had to upgrade from Sun Forte 4.0 > to > > > Forte 5; at > > > > > > that point I had to get rid of the > malloc() > > > stuff > > > > > > completely, otherwise I would not have > been > > > able to > > > > > > upgrade the remainder of the application. > > > > > > > > > > > > In short: even though it's legal, never > rely > > > on malloc()/ > > > > > > free() and new/delete working within the > same > > > application. > > > > > > It might work for your system, but it need > > > not. > > > > > > > >Frankly spoken I was not talking about Windows; > in > > > fact I have > > > >experienced this trouble on a Solaris system > two > > > years ago, so it may > > > >be that meanwhile this behaviour has been > remedied. > > > > > > > >What I wanted to express is that you should not > > > rely on such mixes to > > > >work under all circumstances. > > > > > > Again I say. The standard REQUIRES it to work. > If > > > you work with > > > broken compilers, I can't offer any suggestions > > > > > > >Regards, > > > >Nico > > > > > > Victor A. Wagner Jr. http://rudbek.com > > > > > > >Victor, > > > >I am definitely NOT an expert on the standard. Are > >you saying the standard requires malloc() and > delete > >to work together, and it requires new and free() to > >work together? > > no, it requires that you can use malloc()/free() in > the same program > that you use new/delete > > > >Ray > > > > Victor A. Wagner Jr. http://rudbek.com > The five most dangerous words in the English > language: > "There oughta be a law"
Thanks for the clarification. Ray __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
