benötige ein c programm, welches zum ansteuern einer maschine dient!!! Die maschine sollte nach einen fahrprofil fahren!!!! mfg maier
// Das ist doch kein Problem void main (void) { while(1) fahrprofil(); } /* Wenn du etwas detailiertere Antworten willst, solltest du eher nach Details fragen! */
ich hab eine noch bessere ide!!!!!!!!! einfach so machen!!!! da spart man sich die zweite funktion!!!!!! void main (void) { while(1) main(); // !!!!!!!! hier ist wichtig !!!!!! } ich weis aber nicht! ob das überhaupt geht!
@Rufus: > Nicht lange, irgendwann ist der Stack voll. > Ein Problem rekursiver Algorithmen. Nö, stimmt in diesem konkreten Fall nicht. Das ist ein Tail-Call, und Tail-Calls benötigen keinen Stack. Den ganzen C, C++, Java, PHP usw. "Programmierern" täte mal ein Ausflug in die Welt der Funktionalen Programmiersprachen gut. Und in der Tat is mir auch bekannt, dass es noch heute C-Compiler, auch Kommerzielle für sehr viel Geld verkaufte, gibt, die Tail-Calls nicht optimieren können und tatsächlich einen Stack-Überlauf produzieren. Naja, wer solche kaputten Compiler benutzt, oder benutzen muss, oder sogar einkauft, naja da kann man eben nicht mehr helfen...
> Nö, stimmt in diesem konkreten Fall nicht. > Das ist ein Tail-Call, und Tail-Calls benötigen keinen Stack. IMHO ist das kein tail-call, da nach dem rekursiven Aufruf (angenommen er kehre zurück) die while-Schleife erneut durchlaufen wird und kein "return" stattfindet.
> IMHO ist das kein tail-call Argl! > die while-Schleife erneut durchlaufen wird Stimmt, Du hast recht! Grr... Habe das "while(1)" glatt übersehen...
Ihr habt das #include <fahrprofil.h> vergessen... @Stcküberlauf: Der Stacküberlauf ist doch irrelevant, da das Programm gar kein RAM verwendet, oder?
Aber irgendwann läufts auch über RAM-Grenzen hinaus, aber auch irrelevant, da die Rücksprungdaten nie wieder gebraucht werden
Die Rücksprungadressen werden auch weiter auf den Stack gepusht, wenn dieser erschöpft ist. Irgendwann wird das Programm (auf geeigneten Architekturen) wegen "General Protection Fault" abgebrochen werden.
.....und ich habe immer gedacht, C- Programme wären schwer zu verstehen. :-))) Mit wie wenig Aufwand man eine komplexe Maschine steuern kann! ROFL! Simpel
Oh Mann, wie kann man nur so blöd sein und auf diesen Troll reinfallen? - Oops, habe ich gerade nicht auch was dazu gesagt? -
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.