GNU Pascal Homepage - gpc - gpc-announce - gpc-de - gpc-doc
This page in English

Mail #13498

Zurück zur Archiv-Hauptseite

Vorige Mail   Nächste Mail   Unformatiert/Volle Header
Übersicht  10 Tage   Betreff   Datum   Thread   Autor  

Von: Frank Heckenbach
Betreff: New (gpc-20060325)
Datum: 1.4.2006, 23:01:30

Maurice Lombardi wrote:

> Adriaan van Os a écrit:
> 
> > The problem disappears when I change
> > 
> >     type PMemList = ^PMemList;
> > 
> > to
> > 
> >     type PMemList = ^Pointer;
> > 
> > in the function MemAvail in units/system.pas. I think that explains  it. 
> > Apparently the stabs symbol generator doesn't like the
> > 
> >     type PMemList = ^PMemList
> 
> Indeed. What does this mean: a type is a pointer to himself

It's just a place-holder for the MemAvail kludge. (Actually, the
allocated memory is usually bigger than the declared size, and it's
allocated with GetMem, not New. Usually GetMem is not recommended,
but since these functions actually deal with memory size, GetMem
seems more appropriate than, say, a schema type.)

> In a rather old version of gpc I found
> 
> type
>    PMemList = ^TMemList;
>    TMemList = record
>      Next : PMemList
>    end;
> 
> Which makes sense for me.

Actually it's hardly different from the original type. Regularly,
you can do just the same with both -- build lists (or graphs with at
most one child per node) with no additional info.

> But this change has survived for many versions.

AFAIR, the current definition didn't work with GPC when the function
was originally written, therefore the record. But AFAIK, the current
definition is valid Pascal, so I changed it sometime.

Frank

Vorige Mail   Nächste Mail   Unformatiert/Volle Header
Übersicht  10 Tage   Betreff   Datum   Thread   Autor  


Antworten auf diese Mail

Autor Betreff Datum
Maurice Lombardi New (gpc-20060325) 3.4.2006, 10:47:00

Antwort auf

Autor Betreff Datum
Adriaan van Os New (gpc-20060325) 29.3.2006, 12:19:00
Maurice Lombardi New (gpc-20060325) 29.3.2006, 11:03:23

Zurück zur Archiv-Hauptseite


Hinweis: Diese Seite enthält Informationen, die nicht vom Betreiber dieser Website, sondern von den Autoren der archivierten Mails stammen. Der Betreiber dieser Website ist nicht für den Inhalt dieser Informationen verantwortlich. Die weitere Verwendung dieser Informationen bedarf des Einverständnisses des jeweiligen Autors.

Sofern WWW-Adressen (URLs) in den archivierten Mails als Hyperlinks hervorgehoben werden, so geschieht dies ausschließlich zur Annehmlichkeit für den Leser. Der Inhalt der auf diese Weise angelinkten Webseiten spiegelt nicht notwendigerweise die Meinung des Betreibers dieser Webseite oder der Autoren der archivierten Mails wider. Der Betreiber dieser Webseite ist nicht für den Inhalt solcher Webseiten verantwortlich. Diese Seiten sind ausdrücklich nicht als Teil des Inhalts dieser Seite zu betrachten, sondern lediglich als Referenzen.


Diese Seite wurde erzeugt von Crystal 0.999 (Linux 2.4.27/i686).