ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/01/25/12:51:45

From: rpolzer AT web DOT de (Rudolf Polzer)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Windows ME and DJGPP
References: <20010120205730 DOT 25849 DOT 00000491 AT ng-fd1 DOT aol DOT com> <3a6b7917 DOT 10793503 AT news DOT sci DOT fi> <3A6CB71F DOT 8B4E86C9 AT phekda DOT freeserve DOT co DOT uk> <94k3dc$lf9$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE> <slrn96u191 DOT 2cl DOT rpolzer AT rebounce DOT rpolzer-lx> <94pm3k$1qf$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE>
X-newsgroup: comp.os.msdos.djgpp
X-realname: Hans-Bernhard Broeker
X-Mailer: GehtDichNenScheissdreckAn 1.0
Message-ID: <slrn970p9v.28f.rpolzer@rebounce.rpolzer-lx>
User-Agent: slrn/0.9.6.2 (Linux)
Date: Thu, 25 Jan 2001 18:41:19 +0100
Lines: 41
NNTP-Posting-Host: 213.6.58.46
X-Trace: 980445046 news.freenet.de 3294 213.6.58.46
X-Complaints-To: abuse AT freenet DOT de
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de> schrieb folgenden Unsinn:
> Rudolf Polzer <rpolzer AT web DOT de> wrote:
> > Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de> schrieb folgenden Unsinn:
> >> Compared to both of these, ME is a pain in the lower back as it comes
> >> to advanced DJGPP usage. Just as an example, you'll have no way of
> >> using the full power of the YAMD memory debugger on an ME system
> >> without applying that highly unofficial patch to re-enable the real
> >> MS-DOS sleeping inside it.
> 
> > But that is no argument:
> > 1. if you are still programming in C it's no "advanced DJG_PP_ usage"
> 
> Please note that the _PP_ in DJGPP has absolutely nothing to do with
> C++. Advanced usage to me means that you're a programmer who expects
> more from a programming toolchain than just building programs.
> Debugging tools like YAMD are advanced, in that sense.

Of course they are, but they are not really C++ compatible. And what else
does the PP in GPP stand for except "Plus Plus"? It does not stand for
"PreProcessor" since the C compiler part is GCC, and CPP is the C
preprocessor, not GPP.

> > 2. if you are programming in C++, an overloaded operator new() and
> > operator delete() will do.
> 
> You don't seem to have understood what YAMD really is, yet. YAMD is
> better than anything you can do by redefining new()/delete() or
> malloc()/free(), by a wide margin. No redefined allocation operator
> will allow you to detect not only that, but *when* and *where* an
> allocated buffer was overrun.

Overruns do not occur in C++ code, the STL checks everything (including
wrong indices of a vector). Only poor-style C++ code (or system-level code
which then is in C) uses C arrays, malloc and free.
The only memory allocation problems that really can occur in C++ are NULL
pointers (caught by the processor => SIGSEGV) and memory leaks (then you
can try redefining operators).

-- 
Nuper erat medicus, nunc est vispillo, Diaulus:
Quod vispillo facit, fecerat et medicus.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019