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

Re: internel compiler error Kategorie: Programmierung C (von Hanns - 30.08.2009 19:52)
Als Antwort auf Re: internel compiler error von kai - 30.08.2009 16:57
Ich nutze:
CC-Pro 128 Application Board, Pro-Bot128
> > > > Hallo,
> > > >
> > > > ich bekommen seit kurzem einen internel compiler error:
> > > >
> > > > Compiling Project DA_Steuerung
> > > >
> > > > C-Control Pro Compiler (C) 2009  Conrad Electronic
> > > > Running Pass 1
> > > > Running Pass 2
> > > > internal compiler error Too much parameter entries at RET, in file codegen.cpp  line:3730
> > > > one Error - compliation aborted.
> > > > Writing Symbols - 7924 bytes..
> > > >
> > > >
> > > > Weiss jemand was schief läuft? Was kann ich tun? Der Code ist etwas zu gro� zum posten.
> > > > Bei interesse kann ich den mal irgendwo hochladen.
> > > >
> > > > VG
> > > > kai
> > >
> > > Wenn Probleme mit Compilerfehlern auftauchen, ist es immer wichtig zu wissen, welche Version
> > > eingesetzt wird. Da in Zeile 3730 dieser Fehler nicht ausgelöst wird, kann ich mit hoher
> > > Wahrscheinlichkeit sagen, das Du nicht die aktuelle Version 2.1 benutzt. Bitte die neueste
> > > Version von C-Control Pro installieren, und nochmal testen.
> > >
> > > Gruss Peter
> >
> > Hallo Peter,
> >
> > doch, ich benutze die neuste Version. Und ich habe das Problem gefunden. Iher ein kleines Beispiel:
> >
> > void main (void)
> > {
> >   byte b;
> >   b=abc(10);
> > }
> >
> > byte abc(byte _a)
> > {
> >   //tu was sinnvolles
> >
> >   return xyz(_a);    <----- das verursacht den Fehler!!
> > }
> >
> > byte xyz(byte _x)
> > {
> >   //macht auch noch was anderes
> >   byte a;
> >   a=_x+5;
> >   return a;
> > }
> >
> >
> >
> > Man kann das lösen indem man die Rückgabe von xyz in einer variablen zwischenspeichert und dann
> > die Variable zuück gibt. Allerdings hätte ich gerne, um Platz zu sparen und die �bersichtlichkeit zu behalten,
> > meine Schreibweise :-P Gibts ein Workaround? Oder bald ne neue Version ;-)?
> >
> > VG Kai
>
>
> das Programm oben funktioniert doch so. Was ich gemacht habe, ist ein Array zu übergeben an xyz....
>
> void main (void)
> {
>   byte b;
>   byte c[3] = {1,2,3};
>   b=abc(c);
> }
>
> byte abc(byte _a[])
> {
>   //tu was sinnvolles
>
>   return xyz(_a);   // <----- das verursacht den Fehler!!
> }
>
> byte xyz(byte _x[])
> {
>   //macht auch noch was anderes
>   byte a;
>   a=5;
>   return a;
> }
>
>
> so sieht das jetzt aus, damit der Fehler verursacht wird.

abc erklärst DU als byte, Der return wert dagegen iste ein byte-Array .
Könnte es daran liegen?
Hanns


    Antwort schreiben


Antworten:

Re: internel compiler error (von kai - 30.08.2009 21:55)
    Re: internel compiler error (von Hanns - 31.08.2009 8:14)
        Re: internel compiler error (von kai - 31.08.2009 23:16)
            Re: internel compiler error (von Hanns - 1.09.2009 7:41)
                Re: internel compiler error (von kai - 1.09.2009 8:14)