
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Christian! Ja, ich weiß, jeder Funktions- oder Prozeduraufruf innerhalb einer Funktion/Prozedur füllt den Stack, der leider nicht allzu groß ist. Ich denke aber, die Lösung dafür wäre einfach funktionell größere Prozeduren zu schreiben, also solche die bestenfalls keinen Aufruf mehr enthalten. Der Compiler könnte aber auch einfach warnen, wenn zuviele Aufrufe gemacht werden. Ich werde das mal in Zukunft angehen. Zum Assembler: Ohne Goto könnte man in Assembler ja auch gar keine Programmverzweigungen realisieren. Wie du schon sagst ist das Goto in Assembler absolute Grundlage für Konstrukte wie IF, DO, LOOP, SELECT,... Aber Anwendungen werden nur selten in Assembler programmiert, da zu 99% immer ein Compiler den Assemblercode aus einer Hochsprache heraus erzeugt. Das heißt: Dieses Assembler Goto ist in der Hand des Compilers, nicht in der des Programmierers. Und ein Compiler kann mit Gotos absolut sicher umgehen, das kann ein Programmierer von größeren Anwendungen aber nicht. Klar, du musst ein Goto gelegentlich verwenden, aber hauptsächlich geht es darum Konstrukte wie #abc ... Goto def ... if a<>2 goto abc #def umzuwandeln in einen gut lesbaren code Do ... Exit Do ... Loop Until a<>2 Sicher ist der Unterschied noch nicht groß, aber stell dir vor du hast mehrere solcher Schleifen ineinander geschachtelt... |
| Antwort schreiben |