Forum moved to if-forum.org
Autor Nachricht
<  Warning: Using '-->' to access a -> or string array
Kris
BeitragVerfasst am: Mo, 31 Jan 2005 - 11:19  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Hallo,

ich habe da seit einiger Zeit ein Problem.

Ich habe die dunno.h als Gerüst verwendet, um unbekannte Worte und Verben wieder als unbekannt auszugeben.

Selbst vor eigener Erweiterung kommt beim Compilieren diese Fehlermeldung:

Warning: Using '-->' to access a -> or string array

und zwar an dieser Stelle:

Code:
#ifdef TARGET_GLULX;
  numwds = parse-->0;   !Diese Zeile löst die Warnung aus!
#ifnot;


Bisher habe ich es ignoriert da alles ohne bemerkbare Fehler lief, habe neulich aber mit der NounDomain() experimentiert und sie verändern wollen. Also habe ich sie über Replace ersetzt, und dann bekomme ich für jedesmal, wo im Code "-->" steht, eine solche Warnung.
Warum beschwert sich der Compiler nicht, wenn NounDomain aus der parserm.h compiliert wird?

Ich habe im Game Author's Guide to Glulx Inform gesucht, aber nichts passendes gefunden.

Hat da jemand ähnliche Erfahrungen gemacht? (ChrisW, du werkelst doch auch gerade mit Glux herum)

Zur Info: Ich arbeite mit Inform 6.30. und der infglk.h und hier sind die switches:
+language_name=German $DICT_WORD_SIZE=19 $MAX_STATIC_DATA=20000 -G

Dank im voraus

Kris
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Mo, 31 Jan 2005 - 15:12  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Kris hat folgendes geschrieben:
Warum beschwert sich der Compiler nicht, wenn NounDomain aus der parserm.h compiliert wird?

Weil parserm.h wie alle Dateien der Lib als System_file deklariert ist und daher Warnungen unterdrückt werden.

Dummerweise ist parse im Z-Code ein Mischfeld, so dass man byte- und wortweise darauf zugreifen muss. In Glulx jedoch enthält das Feld parse nur Wörter, wie Roger Firth im Inform FAQ beschreibt. Es ist aber einfach falsch deklariert, auch in der neuen Lib. Du kannst vermutlich ohne Bedenken die Zeile 402 in parserm.h:
Code:
Array  parse     -> PARSE_BUFFER_LEN;

abändern in:
Code:
Array  parse     --> PARSE_BUFFER_LEN;

(Behaupte ich mal...)

Ansonsten wirst du die Warnungen nicht umgehen können. (Du kannst deine neue NounDomain nicht in ein eigenes System_file packen, da die Replace-Direktive genau diese Dateimarkierung benutzt, um festzustellen, welche NounDomain es nun kompilieren soll: Es ignoriert die in Systemdateien und erzeugt die, die es in einem nicht als Systemdatei markierten Quelltext findet.)

Mit der Compileroption -w werden Warnungen übrigens komplett unterdrückt.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: Mo, 31 Jan 2005 - 15:44  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Ok.

Da man es ja nun doch bedenkenlos ignorieren kann, lasse ich aber alles mal so, wie im Original. Bei buffer (Zeile 401) z.B. gibt er in jedem Fall eine Warnung raus - daher, wie gesagt, lasse ich alles so, wie es ist.

Vielen Dank für die Info


Kris
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05