Seite 2 von 2

Re: PB 6.20 - Bug bei GOSUB -> Absturz - [WIN11] [Linux]

Verfasst: 23.02.2025 03:50
von HeX0R
Amen!

Re: PB 6.20 - Bug bei GOSUB -> Absturz - [WIN11] [Linux]

Verfasst: 23.02.2025 11:04
von PIC18F2550
STARGÅTE hat geschrieben: 22.02.2025 16:37
PIC18F2550 hat geschrieben: 22.02.2025 15:31 Gosub ist wie eine Funktion nur das die Variablen nicht gekapselt sind.
... und das Gosub keine Rückgabewert hat.
... und das man keine Argumente übergeben kann.
... und keine Rekursion möglich ist.
... und das man nicht aus Select (und Schleifen?) zurückspringen darf.
Aber ja, ansonsten ist es eigentlich fast das gleiche.
Für den Rückgabewert nutzt man einfach eine Variable, die man mit dem Inhalt des Wertes füllt.
Für Argumente benutzt man ein Eindimensionales Array für alle oder greift direckt auf die Variablen zu.
Für Rekursion benutzt man ein Mehrdimensionales Array wobei man die Rekursionstiefe immer überwachen muss wie in einer Funktion auch.

Bei "Return" ist es abhänig ob der Compiler die Routinen "Select" und "For" beachtet um bei "Return" den Stack ordentlich zu bereinigen. Sollte eigentlich kein Problem heutzutage sein.

Eine andere Sache ist "Goto" dieser sollte tatsächlich nicht zum Absprung aus "Select" und "For" benutzt werden.
Aber dafür gibt es ja andere Befehle die den Stack bereinigen.

Aber genug davon es geht ja hier um etwas ganz anderes. :mrgreen:

Re: PB 6.20 - Bug bei GOSUB -> Absturz - [WIN11] [Linux]

Verfasst: 23.02.2025 11:20
von Blitzer
Aber genug davon es geht ja hier um etwas ganz anderes. :mrgreen:
:allright:

Re: PB 6.20 - Bug bei GOSUB -> Absturz - [WIN11] [Linux]

Verfasst: 23.02.2025 12:33
von mk-soft
PIC18F2550 hat geschrieben: 22.02.2025 15:31 Ich mag diese "C"aspersprache nicht und finde es einfach traurig wie Basic langsam zu C umgestaltet wird.
Purebasic wurde nie auf C umgestaltet und hatte schon immer die gleichen möglichkeiten wie in C mit Zeigern Strukturen und Speicher umzugehen.
;)

Das C-Backend ist nur dazu gekommen um auch andere Hardware wie ARM Prozessoren zu unterstützen was die Entwicklung von PureBasic erleichtert.