Anhang D - Fehlermeldungen
 
 

D.1. DCC32
 

# ohne Makroparameter
Hinter dem #-Symbol in der Symbolsequenz eines Makros wurde kein Makroparameter angegeben, der als Text behandelt werden soll.
 

## am Ende der Ersetzung aufgetreten
Das ##-Symbol muß von zwei Makroparametern umgeben sein, um daraus ein neues Symbol zu erzeugen. Das zweite Symbol fehlt jedoch.
 

#elif nach #else
Hinter der ELSE-Direktive einer IF-Bedingung trat noch eine ELIF-Direktive auf. Die ELSE-Direktive setzt die letzte Verarbeitungssektion in einer Bedingung fest. Dahinter dürfen keine weiteren ELIF- oder ELSE-Direktiven auftreten.
 

#elif ohne zugehöriges #if
Die ELIF-Direktive wurde entdeckt, ohne daß eine zugehörige IF-Direktive gefunden wurde.
 

#else ohne zugehöriges #if
Die ELSE-Direktive wurde entdeckt, ohne daß eine zugehörige IF-Anweisung gefunden wurde.
 

#endif ohne #if
Die ENDIF-Direktive wurde entdeckt, ohne daß eine zugehörige IF-Anweisung gefunden wurde.
 

#if zu tief verschachtelt
Die maximale Verschachtelungstiefe von IF-Direktiven beträgt 32. Jede weitere Verschachtelung erzeugt diese Fehlermeldung.
 

#include zu tief verschachtelt
Die maximale Verschachtelungstiefe in Include-Dateien beträgt 10. Jede weitere Verschachtelung löst diese Fehlermeldung aus.
 

#line-Angabe außerhalb Wertebereich
Die Zeilennummer hinter der LINE-Direktive liegt außerhalb des zulässigen Wertebereichs von 0 und 32767.
 

& wurde auf register-Bezeichner xxx angewendet
Der '&'-Adreßoperator wurde zusmmen mit einem Bezeichner verwendet, der als "register" deklariert wurde und der somit nicht adressierbar ist, da ihm keine Speicheradresse, sondern ein CPU-Register zugeordnet wurde.
 

- wurde auf vorzeichenlosen Bezeichner angewendet *** Warnung ***
Es wurde versucht, einen als "unsigned" (vorzeichenlos) deklarierten Bezeichner zu negieren. Der Compiler hat den Inhalt des Bezeichners über eine indirekte Konvertierung in ein Integer-Objekt negiert und das Ergebnis wieder in ein Unsigned-Objekt konvertiert.
 

Adressierbares Objekt erwartet
Bei der Bildung der Adresse eines Objekts wurde ein illegales Objekt verwendet. Überprüfen Sie den Datentyp und die Deklaration bzw. Definition des verwendeten Objekts.
 

xxx als n.Argument erwartet
Beim Aufruf einer Funktion wurde ein illegale Differenz zwischen dem Typ des erwarteten und des gefundenen Arguments gefunden. Zwischen den beiden Typen kann keine automatische Konvertierung vorgenommen werden.
 

xxx als n.Argument ist ungültig
Die Verwendung eines Objekts des angegebenen Typs als Argument für eine Funktion ist nicht erlaubt.
 

Anwendung von sizeof auf ein Bitfeld
Der "sizeof"-Operator wurde auf ein Bitfeld in einer Struktur oder Variante angewendet. Da Bitfelder keine ganzen Bytes ausfüllen müssen, ist die Anwendung des "sizeof"-Operators nicht zulässig.
 

Arraygröße übersteigt nnn Bytes
Die Größe eines Arrays übersteigt die Größe eines Integer-Objekts (231).
 

Ausdruck ist konstant *** Warnung ***
Das Ergebnis eines Vergleichs in einem Ausdruck (z.B. in einer Bedingung) ist konstant, z.B.

Ausdruck ist zu komplex
Der Ausdruck in der angegebenen Zeile erfordert eine zu tiefe Verschachtelung. Versuchen Sie, den Ausdruck zu vereinfachen oder ihn aufzuteilen.
 

Benutzung von xxx als L-Wert *** Warnung ***
Auf der linken Seite eines Operators wurde ein Objekt mit einem ungültigen Datentyp verwendet (z.B. Zuweisung mit der Dereferenzierung eines void-Zeigers).
 

Bezeichner erwartet
An einer Stelle, an der ein Bezeichner erwartet wurde, wurde ein Schlüsselwort oder ein ungültiger Bezeichner gefunden.
 

Bitfeld muß mindestens ein Bit enthalten
In einer Struktur bzw. einer Variante wurde ein Bitfeld mit Nullänge definiert.
 

Bitfelder müssen vom Typ "signed" oder "unsigned int" sein
Bei der Deklaration eines Bitfelds in einer Struktur oder Variante wurde ein illegaler Datentyp verwendet. Als Datentypen für Bitfelder sind nur signed int und unsigned int erlaubt.
 

case-Marke nnn ist mehrfach vorhanden
Der genannte Wert ist in mehreren case-Marken definiert, z.B.

 

DASM32 / DLINK32 kann nicht ausgeführt werden
Stellen Sie sicher, daß sich die entsprechende ausführbare Programmdatei im gleichen Verzeichnis wie DCC32 befindet.
 

Doppeltes #else
Hinter einer ELSE-Direktive wurde eine weitere ELSE-Direktive gefunden.
 

Doppeltes Makroargument
Ein oder mehrere identische Makroargumente wurden bei der Definition eines Makros mehrfach verwendet :

EOF im Kommentar
Innerhalb eines Kommentars wurde statt der Beendigung des Kommentares durch */ das Dateiende entdeckt.
 

EOF in Makroargumentliste
Innerhalb der Argumentliste beim Aufruf eines Makros wurde das Dateiende festgestellt.
 

EOF in Zeichenkonstante
Innerhalb einer Zeichenkonstante wurde statt des abschließenden doppelten Anführungszeichens das Dateiende erreicht.
 

Falsche formale Parametertypen
Bei der Deklaration einer Funktion wurde ein void-Typ benutzt, z.B.

Falsche Syntax in Kontrollzeile
Bei der Auswertung der Präprozessor-Direktive in der angegebenen Zeile ist ein syntaktischer Fehler aufgetreten. Überprüfen Sie die Direktive auf ihre grammatikalische Richtigkeit.
 

Falsche Typangabe
Bei der Deklaration eines Objekts wurde ein illegaler Typ benutzt, z.B.

Falsche Zahl in #if / #elif
Eine Zahl innerhalb eines bestimmten Ausdrucks besitzt ein ungültiges Format : als Postfixe sind nur 'U' / 'u' und 'L' / 'l' und als Basen nur 8 (oktal),10(dezimal) und 16(hexadezimal) erlaubt.
 

Falsche Ziffer in Zahl
Dieser Fehler tritt auf, falls innerhalb einer Zahl eine Ziffer verwendet wurde, die außerhalb des Ziffernbereichs der der Zahl zugeordneten Basis liegt.
 

Fehlender Bezeichner
Bei der Deklaration eines Objekts wurde kein Bezeichner angegeben, bzw. ein Bezeichner, der schon als Schlüsselwort festgelegt ist, z.B.

Fehlender Bezeichner für Parameter nnn von xxx
Bei der Definition einer Funktion mit Deklarationsliste wurde für ein Argument kein Bezeichner angegeben, z.B. Fehlender enum-Bezeichner
In einer "enum"-Liste wurde entweder kein oder ein illegaler Bezeichner verwendet.
 

Fehlender Feldname
Bei der Deklaration einer Struktur oder einer Variante wurde einem Element zwar ein Datentyp, aber kein Bezeichner zugeordnet.
 

Fehlender Parametertyp
In der Deklarationsliste einer Funktion wurde ein unbekannter Datentyp verwendet, z.B.

Fehlender Prototyp *** Warnung ***
Vor dem Aufruf einer Funktion wurde für diese kein Prototyp vorgefunden, so daß der Compiler keine automatische Typüberprüfung und -konvertierung vornehmen konnte.
 

Fehlender Rückgabewert *** Warnung ***
Eine return-Anweisung in einer Funktion, die nicht als "void" definiert wurde, besitzt keinen Rückgabewert.
 

Fehlendes ‘ / "
Eine Stringkonstante wurde nicht mit dem Zeichen beendet mit dem sie begonnen wurde.
 

Fehler bei -D oder -U
Bei der Auswertung einer -D oder -U-Option ist ein Fehler aufgetreten. Überprüfen Sie die Syntax der Kommandozeilenoption.
 

Fehler bei Anzahl von Makroargumenten
Beim Aufruf eines Makros wurde eine ungültige Anzahl von Makroargumenten übergeben. Vergleichen Sie die Anzahl der Parameter bei der Definition und die Anzahl der übergebenen Argumente.
 

Fehler in #if / #elif
Bei der Auswertung einer #if- bzw. #elif-Direktive ist ein nicht genau definierbarer Fehler aufgetreten. Überprüfen Sie die gesamte Zeile nocheinmal.

 
Fehler in #if / #endif
Bei der Auswertung einer #if- bzw. #endif-Direktive ist ein nicht genau definierbarer Fehler aufgetreten. Überprüfen Sie die gesamte Zeile nocheinmal.

 
Fehler in #include
Bei der Auswertung einer #include-Direktive ist ein syntaktischer Fehler aufgetreten. Überprüfen Sie die Angabe der Headerdatei, bzw. den jeweiligen Makrobezeichner.
 

Fehler in der Konfigurationsdatei
Bei der Interpretation der Optionen aus der Datei DCC32.CFG ist ein Fehler aufgetreten.
 

Fehler bei Makroparametern
Bei der Auswertung der bei der Makrodefinition angegebenen Makroparameter ist ein Fehler aufgetreten. Zum Beispiel kann ein Parameter ein falsches Format haben (kein normales Symbol) oder die Parameter wurden nicht durch Komma getrennt.
 

Feldname xxx ist mehrfach vorhanden
In einer Struktur oder Variante wurde eine Feldbezeichnung mehrfach vergeben.
 

Folgecode ist unerreichbar *** Warnung ***
Die restlichen Anweisungen in der entsprechenden Funktion werden im lauffähigen Programm ab der genannten Zeile nicht mehr abgearbeitet. Der Grund dafür kann eine Endlosschleife (while, do, for) oder eine unbedingte return-Anweisung mitten in einer Funktion sein.
 

Funktion sollte einen Wert zurückgeben *** Warnung ***
Eine Funktion wurde mit Rückgabetyp (nicht "void") definiert, gibt am Ende aber keinen Wert zurück.
 

Funktionsname erwartet
Der Aufruf einer Funktion besitzt ein illegales Format. Es wurde der Name einer Funktion erwartet, aber ein ungültiger Ausdruck gefunden.
 

goto-Anweisung ohne Sprungmarke
Bei einer goto-Anweisung wurde keine Sprungmarke angegeben.
 

Größe von xxx ist unbekannt oder Null
Es wurde ein Objekt deklariert, dessen zugrundeliegender Datentyp eine nicht definierte oder ungültige Größe besitzt, z.B.

Größe von xxx überschreitet maximale Strukturgröße
Die Summe der Größen aller Elemente einer Struktur übersteigt den Integer-Wertebereich (231).
 

Header-Datei xxx nicht gefunden
Die angegebene Header-Datei konnte nicht gefunden werden. Überprüfen Sie den Dateinamen und ggf. die Pfadangabe oder teilen Sie dem Präprozessor mit der Option '-I' den entsprechenden Include-Pfad mit.
 

Illegale Arraygröße nnn
Bei der Definition eines Arrays wurde eine illegale Arraygröße benutzt, z.B.

Illegale Benutzung von xxx
Bei der Deklaration eines Objekts wurde ein Datentyp oder eine Speicherklasse mehrfach angegeben, bzw. auf illegale Weise verwendet, z.B. Illegale Benutzung von typedef
Die typedef-Anweisung wurde bei einer Funktionsdeklaration benutzt.
 

Illegale Bitfeldgröße nnn
Die Größe eines Bitfelds liegt nicht im Bereich von 0 bis 32.
 

Illegale enum-Definiton
Bei der Definiton eines enum-Aufzählungstyps wurde ein syntaktischer Fehler festgestellt. Es wurde möglicherweise vergessen, mit '{' die Definition der Elemente zu beginnen.
 

Illegale xxx-Felddeklarationen
Bei der Definition einer Struktur oder Variante wurde ein ungültiger Datentyp für ein Element verwendet.
 

Illegale Initialisierung für xxx
Es wurde versucht, einer Funktion nach einem Aufruf einen Wert zuzuweisen, z.B.

Illegale Initialisierung für Parameter xxx
In einer Deklarationsliste für eine Funktion wurde ein Bezeichner angegeben und es wurde versucht, diesen mit einem Wert zu initialisieren, z.B. Illegale Initialisierung von xxx
Ein Datenobjekt, das innerhalb einer Funktion als externes Objekt deklariert wurde, sollte initialisiert werden, z.B. Illegale Speicherklasse xxx
Bei der Deklaration eines Objekts wurde eine ungültige Speicherklasse benutzt, z.B. "register" bei einem globalen Objekt.
 

Illegale Zeichenkonstante
Die Zeichenkonstante in der genannten Zeile ist ungütig.
 

Illegaler Ausdruck
Die Syntax eines Ausdrucks in der angegebenen Quellzeile ist unzulässig.
 

Illegaler Bezeichner xxx
Es wurde ein Bezeichner gefunden, der nicht den Regeln für die Benennung von Bezeichnern entspricht (erstes Zeichen ist 'a'-'z', 'A'-'Z' oder '_' und danach zusätzlich noch '0'-'9').
 

Illegaler Dateiname xxx
Der genannte Dateiname aus der Kommandozeile ist illegal.
 

Illegaler Felddatentyp
Dem Element einer Struktur oder Variante wurde ein illegaler Datentyp zugeordnet.
 

Illegaler Operator "*" / "&" in #if / #elif
Die unären, binären Operatoren '*' bzw. '&' wurden in ungültiger Weise in einer Bedingung von #if / #elif benutzt.
 

Illegaler Operator in #if / #elif
Ein Operator wurde in ungültiger Weise in einer Bedingung von #if / #elif benutzt.
 

Illegales Symbol durch ##
In einer Symbolsequenz wurde durch das ##-Symbol ein illegales neues Symbol gebildet.
 

Integer-Konstante erforderlich
Das Ergebnis eines Ausdrucks ist keine Integer-Konstante. Diese werden beispielsweise in case-Marken innerhalb einer switch-Anweisung erwartet :

xxx ist hier unzulässig
Im Quelltext wurde an der genannten Stelle eine Anweisung gefunden, die in dem Zusammenhang ungültig ist. Dieser Fehler tritt häufig dann auf, wenn der Compiler an einer bestimmten Stelle ein zwingendes Sprachelement nicht vorfindet, oder er tritt als Folge eines vorhergehenden Fehlers auf.
 

xxx ist überflüssig
In einer Funktion wurde ein lokales Datenobjekt definiert, welches aber innerhalb des Funktionsrumpfes nicht verwendet wurde.
 

Keine Quelldateien angegeben
In der Kommandozeile wurden zwar Optionen, aber kein Dateiname für die Compilierung angegeben.
 

Konvertierung von xxx nach yyy ist nicht portabel *** Warnung ***
Die Konvertierung zwischen den beiden genannten Typen ist Compiler-abhängig und kann bei anderen Compilern zu anderen Ergebnissen führen. Konvertierungen, die diese Meldung hervorrufen, sollten vermieden werden, wenn das Quellprogramm auch mit anderen Compilern fehlerfrei übersetzbar sein soll.
 

Konvertierung von xxx nach yyy ist ungülig
Die Konvertierung des Typs xxx in yyy ist nicht erlaubt.
 

L-Wert erwartet
Auf der linken Seite eines Operators steht kein gültiger L-Wert, d.h. daß z.B. eine Zuweisung nicht möglich ist:

Leere Deklaration (auch als Warnung möglich)
Es wurde keine gültige Deklaration eines Objekts gefunden.
 

Leere Eingabedatei *** Warnung ***
Die Quelldatei enthält weder Funktionen noch Datenobjekte.
 

Leere Zeichenkonstante
Eine Zeichenkonstante enthält kein auswertbares Zeichen, z.B. ' ' (= zwei aufeinanderfolgende Hochkomma).
 

Linker Operand von xxx hat ungültigen Typ yyy
Dieser Fehler tritt bei der Verwendung von Strukturen oder Varianten im Zusammenhang mit den Operatoren '.' und '->' auf. Der verwendete Struktur-/Variantentyp entspricht keinem Struktur-/ Variantenobjekt( '.' ) oder keinem Zeiger ( '->' ) auf eine Struktur / Variante.
 

Lokaler Variablenbereich von xxx ist zu groß
Die Größe des lokalen Variablenbereichs einer Funktion übersteigt die Größe eines Integer-Objekts (231). Versuchen Sie, die Anzahl und/oder Größen der lokalen Datenobjekte drastisch zu verringern.
 

Makro hat keinen Namen
Bei einer Makrodefinition wurde kein gültiger Makroname angegeben, z.B. hier :

Makro wurde redefiniert
Ein bereits existierendes Makro wurde erneut definiert, und zwar mit unterschiedlichem Inhalt, z.B. : Mehrfache Definition der Marke xxx
Die angegebene Marke wurde mehr als einmal definiert.
 

Möglicher Zuweisungsfehler bei xxx *** Warnung ***
Bei zwei Deklarationen eines Datenobjekts ist eine Differenz bei den Speicherklassen in beiden Deklarationen aufgetreten.
 

xxx nicht erlaubt in Datenverbund
Die Verwendung des angegebenen Schlüsselwortes ist bei der Deklaration eines Feldes innerhalb eines Datenverbunds nicht erlaubt.
 

Nicht-nullterminierte Stringkonstante
Eine Stringkonstante wurde nicht durch ein abschließendes doppeltes Anführungszeichen beendet, z.B. hier :

Offenes #if
Am Ende des Quelltextes wurde noch mindestens eine offene IF-Anweisung entdeckt.
 

Option -x benötigt Argument
Manche Kommandozeilenoptionen (z.B. -D, -I, -j, -U und -w ) benötigen ein weiteres Argument. Bei der Verwendung einer dieser Optionen wurde aber das benötigte Argument nicht angegeben.
 

Parameter xxx ist überflüssig
Eine Funktion wurde mit einem Parameter deklariert, der innerhalb des Funktionsrumpfes nicht verwendet wurde.
 

Quelldatei xxx nicht gefunden
Die angegebene Quelldatei konnte nicht gefunden werden. Überprüfen Sie ggf. den Dateinamen und den Pfad.
 

Redefinition von xxx
Ein bereits definierter Bezeichner wurde erneut definiert, z.B.

Redeklaration von xxx
Ein bereits existierender Bezeichner wurde erneut deklariert, z.B.  
register-Deklaration wird ignoriert *** Warnung ***
Ein Parameter für eine Funktion wurde gleichzeitig als "volatile", bzw. Struktur, und "register"-Speicherklasse deklariert. Die "register"-Deklaration wird dabei ignoriert.
 

Schiebeoperation um nnn Stellen ist ungültig *** Warnung ***
Die Anzahl der Stellen in einer Schiebeoperation übersteigt die Grenzen des jeweiligen Datentyps oder ist ungültig.
 

Speicherklasse xxx ist ungültig für yyy
Bei der lokalen Deklaration einer Funktion innerhalb einer anderen Funktion wurde eine ungültige Speicherklasse für die Deklaration der Funktion benutzt, z.B. "auto" oder "static".
 

String in #if / #elif
In einem Ausdruck zu einer Bedingung wurde eine Zeichenkette verwendet. Dies wird vom Präprozessor nicht unterstützt.
 

String ist zu lang
Die maximale Länge von Stringkonstanten beträgt 4096 Zeichen.
 

Struktur-/Variantenelement erwartet
Dieser Fehler tritt bei der Verwendung von Strukturen oder Varianten im Zusammenhang mit den Operatoren '.' und '->' auf. Auf der rechten Seite der Operatoren wurde kein gültiger Elementbezeichner für die Struktur / Variante gefunden.
 

switch-Ausdruck muß vom Typ int sein
Der Ausdruck einer switch-Anweisung muß immer vom Typ Integer sein.
 

Syntaxfehler in #else
Bei der Auswertung einer ELSE-Direktive wurde ein syntaktischer Fehler entdeckt. Überprüfen Sie den Zusammenhang zwischen dem "#else" und der Verarbeitungssektion hinter dem "#else"-Schlüsselwort.
 

Syntaxfehler in #endif
Bei der Auswertung einer ENDIF-Direktive wurde ein syntaktischer Fehler entdeckt. Überprüfen Sie den Zusammenhang zwischen dem "#endif" und dem umgebenden Programmtext.
 

Syntaxfehler in #if / #elif
Bei der Auswertung einer IF- / ELIF-Direktive wurde ein syntaktischer Fehler entdeckt. Überprüfen Sie den Zusammenhang zwischen der Direktive und der angegebenen Bedingung.
 

Syntaxfehler in #if / #endif
Bei der Auswertung einer IF-Direktive wurde ein syntaktischer Fehler entdeckt. Überprüfen Sie den Zusammenhang zwischen der Direktive und der angegebenen Bedingung sowie den Block zwischen #if und #endif.
 

Syntaxfehler in #ifdef / #ifndef
Bei der Auswertung einer IF-Direktive wurde ein syntaktischer Fehler entdeckt. Überprüfen Sie den Zusammenhang zwischen der Direktive und der angegebenen Bedingung.
 

Syntaxfehler in #line
Bei der Auswertung einer LINE-Direktive wurde ein syntaktischer Fehler entdeckt. Überprüfen Sie den Zusammenhang zwischen dem "#line" und dem umgebenden Programmtext.
 

Syntaxfehler in #undef
Bei der Analyse der UNDEF-Direktive ist ein syntaktischer Fehler aufgetreten. Überprüfen Sie den dahinter stehenden Makrobezeichner.
 

Überlauf bei enum-Konstante xxx
Der Wert eines "enum"-Bezeichners überstieg die maximale Größe eines Integer-Objekts (231).
 

Überlauf in Ganzzahl- / Fließkomma-Konstante nnn
Eine Ganzzahl- oder Fließkommakonstante hat den jeweils gültigen Wertebereich überschritten.
 

Überlauf in Hex- / Oktal-Escapesequenz
Eine hexadezimale bzw. oktale Escapesequenz hat den gültigen Wertebereich überschritten.
 

Unbekannte Anweisung
In der angegebenen Zeile wurde eine unbekannte Anweisung gefunden.
 

Unbekannte Deklaration
Die Anweisung in der Zeile wurde nicht als gültige Deklaration erkannt, z.B. :

Unbekannte Escapesequenz \x
Die genannte Escapesequenz wurde vom Compiler nicht erkannt.
 

Unbekannte Kontrollzeile
Die Präprozessor-Direktive in der angegebenen Zeile ist unbekannt. Überprüfen Sie die Direktive auf einen Tippfehler.
 

Unbekannte Option xxx
Die genannte Kommandozeilenoption ist unbekannt.
 

Unbekannte Präprozessor-Direktive
Die Präprozessor-Direktive in der genannten Zeile ist unbekannt.
 

Unbekannter Operator
In einem Ausdruck wurde ein unbekannter Operator verwendet. Überprüfen Sie die Syntax des Ausdrucks.
 

Undefinierte Funktion xxx
Eine Funktion wurde vor einem Aufruf als "static" deklariert, aber der Compiler konnte keine Definition der Funktion in dem Quelltextmodul finden.
 

Undefinierter Ausdrucks-Wert
Der Ausdruck der jeweiligen IF-Direktive ist nicht auswertbar.
 

Undefinierter Bezeichner xxx
In einem Ausdruck wurde ein für den Compiler unbekannter Bezeichner verwendet.
 

Undefinierter Typ xxx
Es wurde versucht, eine Struktur oder Variante mit Nullänge bei der Definition mit einem Wert zu initialisieren.
 

Undefinierte Escape-Sequenz in Zeichenkonstante
In einer Zeichenkonstanten wurde eine unbekannte Escape-Sequenz (eingeleitet durch ein Backslash '\' ) verwendet.
 

Undefiniertes Label xxx
In einer "goto"-Anweisung wurde ein Label angegeben, das nicht definiert ist.
 

Ungültige Anweisungsbeendigung
Eine Anweisung wurde auf eine ungültige Weise beendet. Überprüfen Sie, ob das abschließende Semikolon vorhanden ist.
 

Ungültige case-Marke
Eine case-Anweisung ist außerhalb einer switch-Anweisung aufgetreten.
 

Ungültige Dereferenzierung von xxx
Es wurde versucht, eine Dereferenzierung mit '*' auf einen nicht-Zeigertyp anzuwenden, z.B.

Ungültige Ganzzahl- / Fließkomma-Konstante nnn
Eine Ganzzahl- oder Fließkommakonstante entspricht nicht den Regeln für Konstantendefinitionen, z.B.  
Ungültige Hex-Escapesequenz
In einer hexadezimalen Escapesequenz wurde ein ungültiges Zeichen entdeckt.
 

Ungültige Parameterliste
Bei der Interpretation einer Parameterliste wurde ein unbestimmter Fehler gefunden. Überprüfen Sie erneut die entsprechenden Deklarationen in der angegebenen Quellzeile.
 

Ungültige xxx-Deklaration
Bei der Benutzung bzw. Deklaration einer Struktur oder Variante ist ein Syntaxfehler aufgetreten.
 

Ungültiger Arraytyp
Für eine Array-Deklaration wurde ein ungültiger Typ verwendet, z.B.

Ungültiger Hexwert 0xnnn
Die genannte Konstante ist kein gültiger Hex-Wert. Gültig sind nur die Ziffern '0'-'9' und die Zeichen 'a'-'f' und 'A'-'F'.
 

Ungültiger Oktalwert 0nnn
Die genannte Konstante ist kein gültiger Oktal-Wert. Gültig sind nur die Ziffern '0'-'7'.
 

Ungültiger Rückgabetyp
Der Ausdruck in der return-Anweisung bildet einen ungültigen Rückgabetyp.
 

Ungültiger Rückgabewert *** Warnung ***
Der Ausdruck in der return-Anweisung bildet einen ungültigen Rückgabewert, z.B. einen Zeiger auf eine lokale Variable oder ein Funktionsargument.
 

Ungültiger Typ xxx für sizeof
Der "sizeof"-Operator wurde auf eine Funktion oder den "void"-Typ angewendet. Beides ist nicht zulässig.
 

Ungültiges Argument für Option -x
Das Argument für die gennante Option ist ungültig. Achten Sie darauf, daß manche Optionen (z.B. '-i') nur numerische (dezimale) Argumente erlauben.
 

Ungültiges break
Eine break-Anweisung ist außerhalb einer while-, do-, for- oder switch-Anweisung aufgetreten.
 

Ungültiges continue
Eine continue-Anweisung ist außerhalb einer while-, do- oder for-Anweisung aufgetreten.
 

Ungültiges default
Eine default-Anweisung ist außerhalb einer switch-Anweisung aufgetreten.
 

Ungültiges Zeichen x
Im Quelltext wurde ein nicht interpretierbares Zeichen gefunden.
 

Unterschiedliche Argumentdeklarationen für Funktion xxx
Eine Funktion wurde vor einer Definition mit unterschiedlichen Argumenttypen deklariert, z.B.

Unzulässige Anwendung des Typs xxx
Der genannte Datentyp wurde in einem ungültigen Zusammenhang, z.B. einer Deklaration, verwendet.
 

Unzulässige Initialisierung
Bei der Definition und nachfolgenden Initialisierung eines Objekts wurde ein unzulässiger Ausdruck verwendet, z.B.

Unzulässige Typen xxx und yyy
Ein Operator wurde auf zwei Operanden mit ungültigen Datentypen angewendet. Führen Sie gegebenenfalls eine manuelle Konvertierung der beiden Typen durch.
 

Unzulässiger Typ xxx
Ein Operator wurde auf einen Operanden mit ungültigem Datentyp angewendet. Führen Sie gegebenenfalls eine manuelle Konvertierung des Typs durch.
 

void-Funktion gibt einen Wert zurück
Eine Funktion, die als "void" deklariert wurde, besitzt bei einer return-Anweisung einen Rückgabewert.
 

Zeichenkonstante außerhalb des ASCII-Bereiches
In einer Zeichenkonstante wurde ein Zeichen benutzt, das außerhalb des ASCII-Zeichensatzes, d.h. außerhalb des Bereiches 0-127, liegt.
 

Zeichenkonstante ist zu lang
Die maximale Länge von Zeichenkonstanten beträgt 4096 Zeichen.
 

Zeichenkonstante muß ein Zeichen beinhalten
Eine Zeichenkonstante wurde ohne Zeichen definiert, z.B.

Ziffernverlust durch Konvertierung *** Warnung ***
Das Ergebnis eines Ausdrucks hat den gültigen Wertebereich des zugehörigen Datentyps überschritten und wurde vom Compiler konvertiert. Dabei gingen u.U. höherwertige Ziffern verloren.
 

Zusätzliches default
In einer switch-Anweisung wurde mehr als eine default-Marke gefunden.
 

Zuviele -I's
In der Kommandozeile und der Konfigurationsdatei dürfen maximal 32 Include-Verzeichnisse angegeben werden.
 

Zuviele Argumente für xxx
Die Anzahl der an eine Funktion übergebenen Argumente ist zu hoch. Vergleichen Sie den evtl. vorhandenen Prototypen mit dem jeweiligen Aufruf der Funktion.
 

Zuviele Initialisierungen
Bei der Definition eines Arrays oder eines Strukturobjekts wurden mehr Initialisierer angegeben als Elemente vorhanden sind.
 

Zuviele Makroargumente
Beim Aufruf eines Makros wurden zuviele Argumente übergeben. Es können maximal 32 Argumente an ein Makro übergeben werden.
 

Zuweisung an const-Bereich
Es wurde versucht, einen als "const" deklarierten Bereich über einen Zeiger zu verändern, z.B.

Zuweisung an const-Bezeichner xxx
Es wurde versucht, einem als "const" deklarierten Bezeichner ein Wert zuzuweisen, z.B. Zuweisung zwischen xxx und yyy ist nicht portabel *** Warnung ***
Die Zuweisung zwischen den beiden genannten Typen ist Compiler-abhängig und kann bei anderen Compilern zu anderen Ergebnissen führen. Zuweisungen, die diese Meldung hervorrufen, sollten vermieden werden, wenn das Quellprogramm auch mit anderen Compilern fehlerfrei übersetzbar sein soll.
 

Zuwenig Argumente für xxx
Die Anzahl der einer Funktion übergebenen Argumente ist zu gering. Vergleichen Sie den evtl. vorhandenen Prototypen mit dem jeweiligen Aufruf der Funktion.

 



D.2. DASM32
 
 

Ausrichtung hier nicht erlaubt
Die Schlüsselwörter ALIGN und EVEN wurden außerhalb eines Segments verwendet. Für EVENDATA besteht weiterhin die Einschränkung, daß es nur in den Segmenten _DATA und _BSS verwendet werden darf.
 

CS-Adressierung verwendet *** Warnung ***
In einem Speicheroperanden wurde ein Codesegment-Override verwendet. Dies kann unter Umständen zu einer Exception zur Laufzeit führen.
 

Datei xxx nicht gefunden
Die angegebene Quelldatei konnte nicht gefunden werden. Vergewissern Sie sich, daß sich die Datei im aktuellen Verzeichnis befindet oder der angegebene Pfad existiert.
 

Doppelter Prefix
Bei Prozessorbefehlen wie z.B. STOSB oder MOVSB wurde mehr als ein Prefix benutzt, z.B.

ELSE ohne zugehöriges IF
Beim Assemblieren wurde das Schlüsselwort ELSE gefunden, ohne daß eine IF-Bedingung offen ist.
 

ENDIF ohne zugehöriges IF
Beim Assemblieren wurde das Schlüsselwort ENDIF gefunden, ohne daß eine IF-Bedingung offen ist.
 

ENDS ist überflüssig *** Warnung ***
Das Schlüsselwort ENDS wurde benutzt, obwohl gegenwärtig kein Segment offen ist.
 

Expandierte Zeile ist zu lang
Eine Quellzeile ist nach einer Makroexpansion zu lang geworden. Die maximal erlaubte Länge einer Quellzeile beträgt 1024 Zeichen.
 

Fehlende Definition für öffentliches Symbol xxx
Ein Symbol wurde mit der PUBLIC-Direktive veröffentlicht, aber nirgends im Quelltext definiert. Achten Sie bei Verwendung der Option '-ml' auf die Schreibweise des Symbols.
 

FP-Konstante hier nicht erlaubt
Es wurde versucht, einen Fließkommawert einer Byte- oder Wordvariablen zuzuweisen, z.B.

Hash-Tabelle ist voll
Die maximale Anzahl von Symbolen wurde erreicht. Erhöhen Sie mit der Kommandozeilen-Option '-kh' die maximale Anzahl der definierbaren Symbole.
 

Illegale Zahl
Eine Zahl besitzt ein ungültiges Format, z.B.

Illegaler Ausdruck
Der Ausdruck in der jeweiligen Quellzeile ist nicht interpretierbar.
 

Illegaler Befehl nach Prefix
Die jeweilige Kombination aus Prefix und Prozessorbefehl ist nicht erlaubt, z.B.

Illegaler Dateiame xxx
Der genannte Quelldateiname ist ungütig, z.B. zu lang.
 

Illegaler Operator bei FP-Wert : xxx
Bei der Definition eines Fließkomma-Wertes durch DD, DQ oder DT wurde einer der Operatoren MOD, SHL, SHR, NOT, AND, OR oder XOR verwendet. Diese sind nur bei der Definition von Integer-Werten verwendbar. Bei Fließkomma-Werten sind nur die Operatoren *, /, + und - erlaubt.

Illegaler Parameter
Der Prozessorbefehl besitzt einen oder mehrere illegale Parameter, bzw. der Zusammenhang zwischen den einzelnen Parametern des Prozessorbefehls ist ungültig, z.B.

Illegales Argument für Option xxx
Das Argument für die gennante Option ist ungültig. Achten Sie darauf, daß manche Optionen (z.B. '-kh') nur numerische (dezimale) Argumente erlauben.

Illegales Symbol bei "-D"
Das Symbol entspricht nicht den Richtlinien für das Symbolformat.

Include-Datei xxx nicht gefunden
Die per INCLUDE-Direktive einzuladende Quelldatei konnte nicht gefunden werden. Überprüfen Sie die Pfadangabe oder teilen Sie dem Assembler mit der Option '-i' den Pfad zur Quelldatei mit.
 

Include-Verzeichnis länger als 128 Zeichen
Die Länge eines Verzeichnispfades darf generell nicht mehr als 128 Zeichen betragen.
 

Integer-Konstante vor DUP erwartet
Der Konstantenausdruck vor dem DUP-Schlüsselwort muß vom Typ Integer sein, nicht Fließkomma :


Keine Dateinamen erlaubt
In der Konfigurtionsdatei wurde ein Quelldateiname gefunden. Diese sind nur in der Kommandozeile erlaubt.
 

Keine Quelldateien angegeben
In der Kommandozeile wurden zwar Optionen und eventuell Objekt- und Listendateien, aber keine Quelldateien angegeben.
 

Makro ist nicht begrenzt
Die Definition eines Makros wurde nicht mit ENDM beendet und reicht damit bis zum Ende des Quelltexts.
 

Makro ist zu umfangreich
Ein Makro umfaßt mehr als 2048 Zeilen. Versuchen Sie, den Inhalt des Makros auf zwei oder mehr zu verteilen und diese nacheinander aufzurufen.
 

Makro wurde bereits definiert
Unter dem Namen wurde bereits ein Makro definiert. Nur Makros, die mit EQU definiert wurden, sind redefinierbar. Mehrzeilige Makros müssen vor einer Redefinition explizit mit PURGE gelöscht werden.
 

Makro-Parameter xxx wurde erneut definiert
Bei der Definition eines mehrzeiligen Makros wurde ein Parameter mehrmals benutzt, z.B.

Makros zu tief verschachtelt
Die maximale Verschachtelungstiefe bei Makros ist 16. Jede tiefere Verschachtelung löst diese Fehlermeldung aus.
 

Maximal 32 Include-Verzeichnisse erlaubt
In der Kommandozeile bzw. Konfigurationsdatei dürfen mit der Option '-i' insgesamt nicht mehr als 32 Pfade angegeben werden.
 

Maximal 32 Symbole mit "-D" erlaubt
In der Kommandozeile und Konfigurationsdatei können mit der Option '-d' nicht mehr als 32 Symbole definiert werden.
 

Maximal ein Parameter erlaubt
Einige Prozessorbefehle erlauben die Verwendung eines optionalen Parameters. Wird bei einem solchen Befehl mehr als ein Parameter benutzt, wird diese Fehlermeldung erzeugt. Hier ein Beispiel :

Near-Symbol erwartet
Bei einem Sprungbefehl wie JA, JB, LOOP etc. wurde ein Symbol verwendet, das nicht vom Typ NEAR ist. Diese Befehle erfordern eine Codeadresse, die in eine relative Adresse zum aktuellen Programmzähler umgewandelt wird.
 

Option xxx benötigt ein Argument
Die genannte Option benötigt ein Argument. Achten Sie darauf, daß zwischen Option und Argument keine Leerzeichen sind.
 

Objektdatei xxx kann nicht nicht erzeugt werden
Die Objektdatei mit dem Ergebnis der Assemblierung kann nicht erzeugt werden. Überprüfen Sie die Pfadangaben und ob Sie Schreibrechte auf das entsprechende Verzeichnis haben.
 

n Parameter erwartet
Die Anzahl der Parameter für einen Prozessorbefehl ist falsch. Die Anzahl der erforderlichen Parameter wird angegeben. Hier ein Beispiel mit dem MOV-Mnemonic :

Relativer Sprung außer Reichweite
Ein relativer Sprung hat eine Entfernung von mehr als 128 Bytes rückwärts bzw. 127 Bytes vorwärts bezogen auf den aktuellen Programmzähler. Dies kann umgangen werden, indem das Schlüsselwort SHORT aus der Sprunganweisung entfernt wird. Bestimmte Sprungbefehle wie LOOP oder JCXZ sind allerdings grundsätzlich auf diese Begrenzung festgelegt (diese Befehle erzeugen immer SHORT-Sprünge).
 

Sourcelisting kann nicht erzeugt werden
Die gewünschte Listendatei mit den Details zur Assemblierung des Quelltextes kann nicht erzeugt werden. Überprüfen Sie die Pfadangaben und ob Sie Schreibrechte auf das entsprechende Verzeichnis haben.
 

String hat illegale Länge
Eine Zeichenkette ist länger als erwartet, z.B.

String hier nicht erlaubt
Eine Zeichenkette wurde an einer ungültigen Stelle benutzt, z.B. String ist nicht begrenzt *** Warnung ***
Bei einer Datendefinition wurde eine Zeichenkette nicht durch ' oder " beendet, z.B. Symbol als Sprungziel erwartet *** Warnung ***
Hinter einem Sprungbefehl (z.B. JE, JNE, JMP ...) wurde kein Symbol verwendet. Möglicherweise wird hier ein ungültiger Sprung generiert, z.B. Symbol erwartet
An einer Stelle im Quelltext wurde ein Symbol erwartet, aber keins gefunden. Typischerweise erscheint diese Fehlermeldung in Verbindung mit den Schlüsselwörtern PUBLIC, EXTRN, OFFSET und den Makrodefinitionen.
 

Symbol hier nicht erlaubt
Innerhalb einer Datendefinition wurde eine Variable entweder in einem Konstantenausdruck vor dem DUP-Schlüsselwort oder als Teil eines Ausdrucks bei einer anderen Definition als DD benutzt. Hier einige Beispiele:

Symbol xxx wurde bereits (extern/intern) definiert
Ein Symbol wurde vorher bereits einmal definiert. Diese Meldung erscheint auch, falls ein Symbol veröffentlicht wurde und später als externes Symbol definiert wird (oder umgekehrt). Auch eine doppelte externe Definition des Symbols erzeugt diese Fehlermeldung. Achten Sie bei Verwendung der Option '-ml' auf die Schreibweise des Symbols.
 

Symbol xxx wurde bereits veröffentlicht
Das genannte Symbol wurde erneut veröffentlicht (PUBLIC-Direktive). Jede erneute Veröffentlichung erzeugt diese Fehlermeldung. Achten Sie bei Verwendung der Option '-ml' auf die Schreibweise des Symbols.
 

Typ von xxx ist nicht eindeutig bestimmbar
Der Datentyp eines Befehlsparameters ist nicht eindeutig bestimmbar, wie in folgenden Fällen :

Unbekannte Adressierungsart im x.Parameter
Der angegebene Parameter paßt syntaktisch nicht zu diesem Prozessorbefehl, bzw. der Zusammenhang zwischen den einzelnen Parametern des Prozessorbefehls ist illegal.
 

Unbekannte Bedingung xxx
Die Bedingung (ein IF-Ausdruck) konnte nicht ausgewertet werden.
 

Unbekannte Option "xx"
In der Kommandozeile bzw. Konfigurationsdatei wurde eine unbekannte Option benutzt.
 

Unbekannte Segment-Anweisung xxx
Hinter den Segmentnamen _TEXT, _DATA oder _BSS wurde keins der Schlüsselwörter SEGMENT oder ENDS entdeckt. Hier ein Beispiel :

Unbekannter Befehl xxx
Im Quelltext wurde eine Anweisung entdeckt, die weder eine Symboldefinition darstellt, noch als gültiger Prozessorbefehl identifiziert werden konnte, z.B. : Unbekannter Befehl xxx nach Prefix
Nach einem Prefix wurde ein unbekannter Prozessorbefehl benutzt : Unbekannter Datentyp
Der Typ eines Symbols ist unbekannt. Als Typen sind folgende Schlüsselwörter erlaubt : BYTE, WORD, DWORD, QWORD, TBYTE und NEAR. Diese Fehlermeldung tritt in Verbindung mit PUBLIC- und LABEL-Schlüsselwörtern auf.
 

Unbekanntes Makro xxx
Es wurde versucht, ein (noch) nicht definiertes Makro zu benutzen.
 

Unbekanntes Segment-Attribut xxx
Das angezeigte Segmentattribut ist unbekannt.
 

Unbekanntes Symbol xxx
In einem Ausdruck wurde ein undeklariertes Symbol verwendet. Achten Sie bei Verwendung der Option '-ml' auf die Schreibweise des Symbols.
 

Ungültige Größe für Hash-Tabelle
Mit der Option '-kh' kann die maximale Anzahl der Symbole festgelegt werden, die im Quelltext definiert werden dürfen. Als Größen sind dabei nur Zahlen zwischen 8 und 19 (diese stellen Potenzen von zwei dar) erlaubt. Die Voreinstellung ist 16384 (= 214). Je höher dieser Wert ist, desto höher ist der Speicherbedarf beim Assemblieren.
 

Ungültiges Zeichen x
Beim Übersetzen des Quelltexts wurde ein Zeichen entdeckt, das in dem jeweiligen Zusammenhang oder Ausdruck illegal ist :

Uninitialisiertes Segment enthält initialisierte Daten *** Warnung ***
Im _BSS-Segment wurde eine Initialisierung gefunden, die dort nicht erlaubt ist, z.B.

Vermisse Definition
Eine Datendefinition ist unvollständig, z.B.

Vermisse ENDIF *** Warnung ***
Am Ende des Quelltexts wurde noch mindestens eine offene IF-Bedingung entdeckt.
 

Zahl zu groß für diesen Typ
Das Ergebnis eines Ausdrucks liegt außerhalb des Wertebereichs des zugrundeliegenden Datentyps, z.B.

Zeile ist länger als 1024 Zeichen *** Warnung ***
Eine Quellzeile der Quelldatei ist zu lang. Die maximal erlaubte Länge einer Quellzeile beträgt 1024 Zeichen.
 

Zuviele Argumente für Makro
Die maximale Anzahl von Argumenten für ein mehrzeiliges Makro ist auf 64 begrenzt.
 

Zuviele Dateinamen angegeben
In der Kommandozeile dürfen nur maximal drei Dateiklassen angegeben werden : Quell-, Objekt- und Listendateien. Bei mehr als diesen dreien wird diese Meldung ausgegeben, z.B. hier :

Zuwenig Argumente für Makro
Die Argumente beim Aufruf eines Makros sind zahlenmäßig weniger als die Anzahl der Parameter, die bei der Definition des Makros festgelegt wurden.
 

 



D.3. DLINK32

 
16Bit-Fixups in Modul xxx
Das angegebene Objektmodul besitzt einen 16Bit-Fixup. Es werden nur 32Bit-Fixups unterstützt. Dieser Fehler deutet darauf hin, daß ein 16Bit-Compiler oder -Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

16Bit-Segment in Modul xxx
Die angegebene Objektdatei besitzt ein 16Bit-Segment. DLINK32 kann nur 32Bit-Segmente verarbeiten. Dieser Fehler deutet darauf hin, daß ein 16Bit-Compiler oder -Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

Doppelter Export eines Symbols ist nicht möglich
Im EXPORTS-Block der Moduldefinitionsdatei wurde ein Symbol (mindestens) zweimal exportiert. Entfernen Sie alle überflüssigen Exporte.
 

Doppeltes Ordinal n
Im EXPORTS-Block der Moduldefinitionsdatei wurde eine Ordinalnummer mehrfach vergeben. Die Ordinalnummern müssen immer eindeutig sein.
 

Erneute Startadresse in Modul xxx *** Warnung ***
In dem genannten Modul wurde ein erneuter Programmstartpunkt definiert. In jedem lauffähigen Programm darf es nur einen Einstiegspunkt geben, daher werden alle weiteren Einstiegsdefinitionen vom Linker ignoriert. Das Verhalten dieser Anwendung ist eventuell unvorhersehbar.
 

Export ohne Ordinal in Definitionsdatei in Zeile n
Im EXPORTS-Block der Moduldefinitionsdatei müssen Sie entweder bei allen Symbolen eigene Ordinalnummern angeben oder die Vergabe der Ordinalnummern für alle Symbole komplett dem Linker überlassen. Ein Kombination beider Varianten ist nicht möglich.
 

Falsche Syntax in Moduldefinitionsdatei bei Zeile n
Die angegebene Zeile in der Moduldefinitionsdatei verursachte einen Fehler. Überprüfen Sie die Syntax der Anweisung bzw. das Format der Zeile, falls sie ein Bestandteil eines EXPORTS- oder IMPORTS-Blocks ist.
 

Illegales Ordinal in Definitionsdatei in Zeile n
Das Ordinal in der Zeile ist ungültig. Es sind nur Werte zwischen 1 und 65535 erlaubt.
 

xxx in yyy und zzz definiert
Das angegebene Symbol ist in zwei Objektdateien definiert.
 

xxx ist keine OMF-Datei
Die angegebene Objektdatei hat ein ungültiges Format. Sie ist offensichtlich beschädigt und nicht verwendbar.
 

Kein 32-Bit Locat-Fixup in Modul xxx
Das Modul besitzt einen Fixup mit einem unbekannten Attribut. Dieser Fehler deutet darauf hin, daß ein inkompatibler Compiler oder Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

Kein Klassenname in Modul xxx
In der angegebenen Objektdatei ist ein interner Syntaxfehler aufgetreten. Ein Segment benutzt einen undefinierten Index als Klassennamen. Das Objektmodul ist offensichtlich beschädigt und nicht verwendbar.
 

Kein Segmentname in Modul xxx
In der angegebenen Objektdatei ist ein Strukturfehler aufgetreten. Ein Segment benutzt einen undefinierten Namensindex. Das Objektmodul ist offensichtlich beschädigt und nicht verwendbar.
 

Keine Module angegeben
DLINK32 wurde aufgerufen, ohne ein Objektmodul zum Linken anzugeben.
 

Keine Programmstartadresse angegeben *** Warnung ***
Keines der Objektmodule innerhalb der ausführbaren Programmdatei definiert eine Startadresse. Die Ausführung wird somit bei der ersten Anweisung im ersten Objektmodul begonnen. Das Verhalten dieser Anwendung ist eventuell unvorhersehbar.
 

Mapdatei xxx kann nicht erzeugt werden
Die angegebene Datei kann nicht erzeugt werden. Überprüfen Sie, ob Sie Schreibrechte auf das Verzeichnis besitzen und keine geschützte Datei unter gleichem Namen bereits existiert.
 

Maximal 32 Lib-Pfade möglich *** Warnung ***
Mit der Option '-L' können maximal 32 Suchpfade angegeben werden.
 

Modulfehler in xxx.LIB an Offset xxx
In der angegebenen Bibliothek ist ein interner Strukturfehler aufgetreten. Die Bibliothek ist offensichtlich beschädigt und nicht verwendbar.
 

xxx nicht gefunden
Die angegebene Datei wurde nicht gefunden. Überprüfen Sie die Pfadangaben.
 

Nicht unterstütztes Segment in Modul xxx
Die angegebene Objektdatei definiert ein unbekanntes Segment. DLINK32 arbeitet nur mit den Segmenten _TEXT, _DATA und _BSS. Dieser Fehler deutet darauf hin, daß ein inkompatibler Compiler oder Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

xxx-Segment doppelt in Modul xxx
Das angegebene Segment wird in der Objektdatei mehrfach definiert.
 

Segmentindex in Modul xxx ist nicht vorhanden
In der angegebenen Objektdatei ist ein Strukturfehler aufgetreten. Es wird ein undefinierter Namensindex benutzt. Das Objektmodul ist offensichtlich beschädigt und nicht verwendbar.
 

THREAD-Fixups werden nicht unterstützt (Modul : xxx)
THREAD-Fixups werden in dieser Version von DLINK32 nicht unterstützt. Dieser Fehler deutet darauf hin, daß ein inkompatibler Compiler oder Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

Unaufgelöstes Symbol xxx in Modul xxx
In dem genannten Objektmodul wurde ein Symbol referenziert, das in keinem Modul definiert wurde.
 

Unbekannte Option '-x'
Die angegebene Kommandozeilenoption ist ungültig.
 

Unbekannte Option in der Konfigurationsdatei in Zeile n
In der Konfigurationsdatei DLINK32.CFG wurde eine unbekannte Option benutzt.
 

Unbekannter Fixup in Modul xxx
Das Modul besitzt einen Fixup mit einem unbekannten Typ. Dieser Fehler deutet darauf hin, daß ein inkompatibler Compiler oder Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

Unbekannter MODEND-Start in Modul xxx
Der MODEND-Record in dem genannten Modul definiert eine illegale Startadresse. Das Objektmodul ist offensichtlich beschädigt und nicht verwendbar.
 

Unbekanntes Segment in Modul xxx
In der Objektdatei wird ein undefinierter Segmentindex referenziert. Das Objektmodul ist offensichtlich beschädigt und nicht verwendbar.
 

Undefiniertes Export-Symbol xxx
Im EXPORTS-Block der Moduldefinitionsdatei wurde ein Symbol angegeben, das nicht in der Programmdatei enthalten ist. Es können nur global sichtbare Symbole exportiert werden.
 

Ungültige Bibliothek xxx.LIB
Die angegebene Datei ist keine gültige Bibliothek (es wurde kein Headersatz gefunden).
 

Ungültiger Extdef-Index nnn in Modul xxx
Ein Fixup referenziert ein undefiniertes externes Symbol. Das Objektmodul ist offensichtlich beschädigt und nicht verwendbar.
 

Ungültiger Seg-Fixup in Modul xxx
Das Modul besitzt einen Fixup mit einem unbekannten Typ. Dieser Fehler deutet darauf hin, daß ein inkompatibler Compiler oder Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

Ungültiger Self-Fixup in Modul xxx
Das Modul besitzt einen Fixup mit einem unbekannten Typ. Dieser Fehler deutet darauf hin, daß ein inkompatibler Compiler oder Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 

Ungültiges Symbol in Moduldefinitionsdatei in Zeile n
Das Symbol im IMPORTS- oder EXPORTS-Block ist ungültig. Das erste Zeichen des Symbols muß eines der Zeichen 'a'-'z', 'A'-'Z' oder '_' sein, danach können alle alphanumerischen Zeichen und der Unterstrich ('_') folgen.
 

Verzeichnis der Bibliothek ist voll
In der zu erzeugenden Importbibliothek zur DLL-Programmdatei können nicht mehr Verzeichnisseiten angelegt werden, ohne die Kompatibilität zu gefährden. Die Erstellung der Importbibliothek wurde abgebrochen. Versuchen Sie, die Anzahl der zu exportierenden Symbole zu verringern (Maximalwert: ca. 9400 Symbole).
 

Zieldatei xxx kann nicht erzeugt werden
Die angegebene Datei kann nicht erzeugt werden. Überprüfen Sie, ob Sie Schreibrechte auf das Verzeichnis besitzen und keine geschützte Datei unter gleichem Namen bereits existiert.
 

Zuviele LNAMES in Modul xxx
Die angegebene Objektdatei ist in dieser Form nicht zu verarbeiten. Es werden zuviele Namen für Segmente, Gruppen und Segmentklassen definiert.
 

Zuviele Parameter
In der Kommandozeile wurden zuviele Dateinamen angegeben.
 

Zuviele Relokationen im Block
In einem Programmblock ist ein Überlauf an Relokationen aufgetreten.
 

Zuviele Segmentdefinitionen in xxx
Die angegebene Objektdatei ist in dieser Form nicht zu verarbeiten. Jedes Objektmodul darf max. 3 Segmente definieren : _TEXT, _DATA und _BSS. Dieser Fehler deutet darauf hin, daß ein inkompatibler Compiler oder Assembler die Objektdatei erzeugt hat. Benutzen Sie stattdessen DCC32 oder DASM32.
 



D.4. BIND2EXE

Datei SYS4G.OVL nicht gefunden
Die Datei SYS4G.OVL befindet sich weder im aktuellen Verzeichnis, noch in dem Verzeichnis, das in der Umgebungsvariable 'DICERTEHOME' hinterlegt ist. Wenn die Umgebungsvariable nicht gesetzt wurde, muß sich die Datei SYS4G.OVL im aktuellen Verzeichnis befinden.
 

Datei SYS4G.DLL nicht gefunden
Die Datei SYS4G.DLL befindet sich nicht in dem Verzeichnis, das in der Umgebungsvariable 'DICERTEHOME' hinterlegt ist. Wenn die Umgebungsvariable nicht gesetzt wurde, muß sich die Datei SYS4G.DLL im aktuellen Verzeichnis befinden.
 

Datei xxx kann nicht erzeugt werden
Die Zieldatei kann nicht erzeugt werden. Überprüfen Sie, ob auf dem Laufwerk genügend Speicher frei ist und ob Sie Schreibrechte für dieses besitzen. Bei der Shareware-Version erscheint dieser Fehler, wenn die Quelldatei größer als 64K ist.
 

Datei xxx nicht gefunden
Die angegebene Datei kann nicht gefunden werden. Überprüfen Sie den Dateinamen bzw. die Pfad- und/oder Laufwerksangaben.
 

xxx hat ungültiges Format
Die angegebene Quelldatei ist nicht im Portable-Executable-Format.
 

Inkompatible Version von SYS4G.OVL
Es wurde versucht, das Programm mit einer inkompatiblen Startup-Code- und DOS-Extender-Version zu binden. Führen Sie das Installationsprogramm erneut aus.
 

Lesefehler bei xxx
Die angegebene Datei ist defekt und somit unbrauchbar. Erstellen Sie die entsprechende Datei erneut oder benutzen Sie eine Sicherung der Datei.
 

Zuviele DLLs zum Integrieren
Die Anzahl der mit BIND2EXE integrierbaren DLLs ist auf 64 beschränkt (siehe Option '-i').
 



D.5. DLIB
 

Bibliothek enthält mehr als nnn Verzeichnisseiten
In der Bibliothek können nicht mehr Verzeichnisseiten angelegt werden, ohne die Kompatibilität zu gefährden. Die Bearbeitung der Bibliothek wurde abgebrochen. Versuchen Sie, einige Module aus der Bibliothek zu entfernen, da ein Hinzufügen nicht mehr möglich ist.
 

Bibliothek nicht gefunden
Die in der Kommandozeile angegebene Bibliothek kann nicht gefunden werden.
 

Dateifehler bei xxx
Beim Lesen der Bibliothek ist ein Fehler aufgetreten. Die Bibliothek kann nicht bearbeitet werden.
 

Doppelter THEADR-Record in xxx *** Warnung ***
Ein Modul in der Bibliothek enthält mehr als einen THEADR-Record, der den Start eines Moduls markiert. Die Verarbeitung wird trotzdem fortgesetzt.
 

Fehler beim Lesen von xxx
Beim Einlesen der Objektmoduldatei ist ein Fehler aufgetreten. Die Bearbeitung wurde abgebrochen.
 

Kein Modul angegeben
In der Kommandozeile wurde zwar ein gültiges Aktionssymbol, aber kein Objektmodulname gefunden.
 

Keine Bibliothek angegeben
In der Kommandozeile wurde kein Bibliotheksname angegeben.
 

Listendatei kann nicht angelegt werden
Die in der Kommandozeile angegebene Listendatei konnte nicht erzeugt werden. Stellen Sie sicher, daß Sie Schreibrechte auf das Verzeichnis besitzen und keine geschützte Datei unter gleichem Namen bereits existiert.
 

Modul bei Offset xxx hat ungültiges Objektformat *** Warnung ***
Das Modul an dem angegebenen Offset in der Bibliothek hat ein ungültiges Format. Die Verarbeitung wird mit dem nächsten Modul in der Bibliothek fortgesetzt.
 

Modul ohne THEADR-Record *** Warnung ***
Ein Modul in der Bibliothek besitzt keinen THEADR-Record, der den Start eines Moduls markiert. Die Verarbeitung wird trotzdem fortgesetzt.
 

Modul xxx ist bereits in Bibliothek
Beim Hinzufügen eines Moduls zur Bibliothek wurde festgestellt, daß dieses bereits enthalten ist. Löschen Sie zunächst das Modul aus der Bibliothek oder benutzen Sie das "Ersetzen"-Symbol '+-'.
 

Modul xxx ist nicht durch MODEND begrenzt *** Warnung ***
Das angegebene Modul besitzt keinen MODEND-Record, der das Ende des Moduls anzeigt. Die Verarbeitung kann zwar fortgesetzt werden, allerdings ist nicht auszuschließen, daß später Fehler auftreten werden.
 

Modul xxx ist nicht in Bibliothek enthalten
Beim Löschen oder Extrahieren eines Moduls aus der Bibliothek wurde festgestellt, daß dieses nicht enthalten ist. Die Aktion wurde daraufhin abgebrochen.
 

Modul xxx nicht gefunden
Die in der Kommandozeile angegebene Objektmoduldatei konnte nicht gefunden werden.
 

Neue Bibliothek kann nicht erzeugt werden
Die neue Bibliothek kann nicht erzeugt werden. Stellen Sie sicher, daß Sie Schreibrechte auf das Verzeichnis besitzen und keine geschützte Datei unter gleichem Namen bereits existiert.
 

Symbol xxx ist in yyy und zzz enthalten *** Warnung ***
Das angegebene Symbol wurde in mindestens zwei Objektmodulen definiert. Dies kann zu Problemen beim Linken führen, da der Linker nur eins von beiden benutzen wird, auch falls beide gebraucht werden. Unterscheiden sich beide Symbole nur in der Groß-/Kleinschreibung, dann benutzen Sie die Option '/C', um beide Symbole ins Bibliotheks-Verzeichnis zu übernehmen. In diesem Fall teilen Sie auch dem Linker mit, daß er ebenfalls die Groß-/Kleinschreibung beachten muß.
 

Unbekannte Option '/x'
Die angegebene Kommandozeilenoption ist ungültig.
 

Ungültige Bibliothek xxx
Die Bibliothek hat ein ungültiges Format (kein Lib-Headersatz gefunden) und kann nicht bearbeitet werden.
 

Ungültiger Parameter
In der Kommandozeile wurden überflüssige Parameter hinter dem Listendateinamen angegeben.
 

Ungültiges Objektformat
Die eingeladene Objektmoduldatei besitzt ein ungültiges Format (kein THEADR-Record gefunden) und kann nicht verarbeitet werden.
 

Verzeichnis der Bibliothek ist voll
In der Bibliothek können nicht mehr Verzeichnisseiten angelegt werden, ohne die Kompatibilität zu gefährden. Die Bearbeitung der Bibliothek wurde abgebrochen. Versuchen Sie, einige Module aus der Bibliothek zu entfernen, da ein Hinzufügen nicht mehr möglich ist.
 

Zieldatei kann nicht erzeugt werden
Die Objektdatei konnte nach dem Extrahieren aus der Bibliothek nicht erzeugt werden. Stellen Sie sicher, daß Sie Schreibrechte auf das Verzeichnis besitzen und keine geschützte Datei unter gleichem Namen bereits existiert.
 

D.6. DIMPLIB
 
 
DLL xxx wurde nicht gefunden
Die angegebene DLL-Programmdatei wurde nicht gefunden. Überprüfen Sie ggf. die Pfadangabe.
 

Fehler beim Einladen von xxx
Beim Lesen der angegebenen DLL-Programmdatei ist ein Fehler aufgetreten. Die interne Struktur der DLL ist möglicherweise defekt.
 

Importbibliothek xxx konnte nicht angelegt werden
Die Importbibliothek konnte nicht erzeugt werden. Überprüfen Sie, ob die Pfadangabe korrekt ist und daß Sie Schreibrechte für das entsprechende Verzeichnis besitzen.
 

Verzeichnis der Bibliothek ist voll
In der zu erzeugenden Importbibliothek können nicht mehr Verzeichnisseiten angelegt werden, ohne die Kompatibilität zu gefährden. Die Erstellung der Importbibliothek wurde abgebrochen. Versuchen Sie, die Anzahl der DLL-Programmdateien in der Kommandozeile zu verringern, damit die Anzahl der Symbole geringer wird.
 

D.7. DDUMP
 

Fehler beim Einladen von xxx
Beim Einlesen der angegebenen Datei ist ein Fehler aufgetreten. Die interne Struktur der Datei ist möglicherweise defekt.
 

xxx ist keine gültige Programmdatei
Die Struktur der Datei entspricht nicht dem Portable-Executable-Format. Möglicherweise ist die interne Struktur der Datei defekt.
 

Kein Dateiname angegeben
In der Kommandozeile wurden nur Optionen, aber kein Dateiname angegeben.
 

xxx nicht gefunden
Die Datei wurde nicht gefunden. Überprüfen Sie die Pfadangabe.
 

Ungültige Daten bei Offset nnn
Ab dem angegebenen Offset ist die Datei nicht weiter interpretierbar, da DDUMP auf ungültige Daten in der Struktur der Datei getroffen ist.
 

Ungültige Option '-x'
In der Kommandozeile wurde eine Option benutzt, die DDUMP nicht kennt.
 

Zuviele Dateinamen
In der Kommandozeile darf immer nur eine Datei übergeben werden. Bei einem Aufruf können nicht mehrere Dateien gleichzeitig analysiert werden.