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 kai - 30.08.2009 16:57)
Als Antwort auf Re: internel compiler error von kai - 30.08.2009 9:59
Ich nutze:
CC-Pro 32 Application Board
> > > 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.


    Antwort schreiben


Antworten:

Re: internel compiler error (von Hanns - 30.08.2009 19:52)
    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)