mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C18 Fehlermeldung


Autor: Hansjörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich arbeite im Moment mit einem Micrchip stack herum. Beim Compilieren 
bekomm ich "syntax error" in der datei ctype.h. Die Zeilenangabe führt 
mich hierhin:
int isalnum (PARAM_SCLASS int c);

wenn ich die datei ctype.h versuchsweise ausklammere, bekomme ich eine 
syntax Fehlermeldung in der ersten Zeilen von:
typedef enum
{
    R1,     // R1 type response
    R1b,    // R1b type response
    R2,     // R2 type response
    R3,     // R3 type response 
    R7      // R7 type response 
}RESP;

hat jemand eine Idee?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sich mal in den Zeilen davor, ggf. im Include-File davor. Fehlendes ";" 
oder "}" oder sowas in der Art.

Autor: Hansjörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das war auch mein erster Gedanke. ich hab nun mal die Kommentare 
gelöscht, um es übersichtlicher zu machen. ctype.c fängt schaut so aus:

[c]
#ifndef __CTYPE_H
#define __CTYPE_H

#define PARAM_SCLASS auto

int isalnum (PARAM_SCLASS int c);
int isalpha (PARAM_SCLASS int c);
int iscntrl (PARAM_SCLASS int c);
int isdigit (PARAM_SCLASS int c);
int isgraph (PARAM_SCLASS int c);
int islower (PARAM_SCLASS int c);
int isprint (PARAM_SCLASS int c);
int ispunct (PARAM_SCLASS int c);
int isspace (PARAM_SCLASS int c);
int isupper (PARAM_SCLASS int c);
int isxdigit (PARAM_SCLASS int c);
int tolower (PARAM_SCLASS int c);
int toupper (PARAM_SCLASS int c);

#endif
[c]

Fehlermeldung:
C:\MCC18\h\ctype.h:6:Error: syntax error

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal, dich in den Compiler reinzudenken. Kommentare ignoriert er 
und Präprozessor-Statements mitsamt den #includes sind alle schon vorher 
verarbeitet und somit weg. Das Resultat ist aus seiner Sicht nur noch 
ein einziger Text, bestehend aus Hauptfile und dem Inhalt aller 
Includes.

Und dann such die letzte für ihn relevante Zeile vor dem isalnum(). Im 
ctype.h steht die offensichtlich nicht, sondern vor dem #include 
<ctype.h>, entweder direkt dort, oder am Ende des Include-Files davor.

Autor: Hansjörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
super,danke prx. Fehler lag im include das zuvor aufgerufen wurde. Ich 
glaub es nicht, hab nun ne halbe Stunde auf die 10 Zeilen geschaut und 
geschaut....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.