Frank Heckenbach (23.Jan 2005 (13:20 (+0100))):
> egbert(a)seibertz.de schrieb:
> > "gpc version 20041218, based on gcc-2.95.2"
> > im Grundsatz in Ordnung oder sollte ein neuerer gcc
> > verwendet werden? Welche Kombination gilt zZ als die
> > beste?
>
> I.a. vermutlich gcc-3.2.x, aber 2.95.x sollte auch noch
> ohne
> Probleme gehen.
hab' keine passende gcc-3.2 Version ... muß warten ...
>
> > 1. Gibt es eine Möglichkeit solche
> > …
[View More]Kontextabhängigkeiten
> > gezielt zu untersuchen, wenn ja wie, welche?
>
> Ohne den Quelltext kann man da wenig sagen. Es kann
> natürlich ein
> Compiler-Fehler sein, wahrscheinlich ist aber vermutlich
> ein Fehler
> im Programm selbst.
ja, ist aber sehr unständlich, da viele UNITS mit
d'rinhängen ...
> Uninitialisierte Variablen und
alle initialisiert
> ungültige Zugriffe sind die häufigsten Ursachen.
^ was meinst Du damit ?
>
>
> Frank
Dank soweit
Grüße
Egbert
[View Less]
Liebe Leute,
ist die Verwendung von
"gpc version 20041218, based on gcc-2.95.2"
im Grundsatz in Ordnung oder sollte ein neuerer gcc
verwendet werden? Welche Kombination gilt zZ als die
beste?
Ich hatte in der Kombination eines älteren gpc mit
einem neueren gcc einen etwas seltsamen Fehler (das
Erweitern eines RECORD um eine (integer-)Variable
(ohne daß sie benutzt wurde) führte grundsätzlich
zu einem Speicherzugriffsfehler), weshalb ich die
gpc-Version geändert habe ... das hat geholfen, das
…
[View More]Programm lief dann einwandfrei ...
Nun habe ich in dieser Version jedoch auch einen
sonderbaren Fehler in einem ganz einfachen Konstrukt:
WHILE Zeiger <> NIL
DO BEGIN
....
Zeiger := Zeiger^.Folgender;
END;
dies führt zu einem Speicherzugriffsfehler an der
Stelle "Zeiger := Zeiger^.Folgender" (innerhalb der
Schleife wird der Zeiger nicht manipuliert). Es
läßt sich zeigen, daß "Zeiger^.Folgender = NIL" ist.
absurder Weise geht:
WHILE Zeiger^.Folgender <> NIL
...
mit der unerwünschten Folge, daß das jeweils letzte
Element (erwartungsgemäß) nicht bearbeit wird.
Dieses Verhalten ist kontextabhängig. Das Konstrukt
funktioniert im gleichen Programm an verschieden Stellen
wie gewünscht. Daraus ergeben sich folgende Fragen:
1. Gibt es eine Möglichkeit solche Kontextabhängigkeiten
gezielt zu untersuchen, wenn ja wie, welche?
2. Gibt es eine Möglichkeit den Compiler zu überreden
möglichst nah am Code zu übersetzen (-O0 half nichts)?
Dank im Voraus!
Grüße
Egbert
[View Less]