Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Compiler-Irrtum Kategorie: Programmierung C (von Franz-Peter - 9.06.2012 17:21)
Als Antwort auf Compiler-Irrtum von Bastler - 9.06.2012 16:34
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 128 Application Board
> Hallo
> Das Vertrauen zur IDE schwindet !!!!!!!!!!
> das Programm: abgeleitet von den Bsp.
> --------------
> // Stringausgabe auf der seriellen Schnittstelle
>
> void main(void)
>
> {
>
>     int i;
>     int x;
>
>     char str[80];
>
>
>
>     str="test der seriellen von ccontrol Glump n";
>
>     i=0;
>
>     // Initialisiere Schnittstelle mit 19200baud, 8 Bit, 1 Stop Bit, keine Parität
>
>     Serial_Init(0,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600);
>
>
>
>     while(str[i]) Serial_Write(0,str[i++]);  // Gib den String aus
>
> for (x=0;x<1000;x++)
> {
> Str_WriteInt(x, str, 0);
> i=0;
>   while(str[i]) Serial_Write(0,str[i++]);  // Gib den String aus
> }
> Serial_Write(0,'n')
>
>     }
> ///////////// #--das ist zeile 35 und Datei-Ende
>
>
>
> ---------------------
> Ã?bersetze Projekt serial0_9600N81
> C-Control Pro Compiler (C) 2011  Conrad Electronic
> Durchlaufe Pass 1
> C:avrCControltmpser_0.cc(34,5):
> Syntax Fehler - unerwartetes Symbol: '}'
> C:avrCControltmpser_0.cc(36,1):
>  Syntax Fehler - erwartete ';'  , gefunden ''
> C:avrCControltmpser_0.cc(36,1):
> Syntax Fehler - erwartete '}'  , gefunden ''
> 3 Fehler - Kompilation abgebrochen.
> Schreibe Symboldaten - 8946 bytes..
> ------------------
> die Datei wurde auch vorher gespeichert !!!!
> Wie kann es sein, dass ein nicht vorhandener Fehler
> ausserhalb der Datei vorkommt!!!!!!!!!!
>
> mir fehlen die Worte dazu
>
>
Hallo Bastler,
in der Zeile vor der Fehlermeldung
Serial_Write(0,'n')
fehlt das Semikolon. Damit ist für den Compiler das '}' ein unerwartetes Zeichen, dann das kann
an der Stelle bei korrekter Syntax nicht vorkommen. Das was danach kommt sind Folgefehler.
Fehlende Semikola führen eigentlich immer zu einer Fehlermeldung in der nächsten Zeile. C ist
keine zeilenorientierte Sprache! Du könntest das Semikolon auch unmittelbar vor das '}' schreiben.
Der Compiler wäre damit zufrieden - übersichtlich werden die Programme damit aber nicht. Deshalb
sollte das Semikolon schon direkt hinter dem Befehl stehen.
GruÃ?
Franz-Peter


    Antwort schreiben


Antworten:

Re: Compiler-Irrtum (von Tobias - 10.06.2012 5:10)