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 | ||
| ||
> > > > 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) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum