function/gosub

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

hitokiri

Betreff: function/gosub

BeitragDi, Mai 03, 2005 13:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Da ich mich mal in Assembler reingelesen habe kam mir die Frage wie wohl ne Function übersetzt wird.
Gosub ist klar, ist einfach ein aufrufen eines subprozesses und dann ein return nach beenden.
aber function kann ich mir nicht so wirklich vorstellen wie das auf assemblerebene anders als gosub gehandelt werden soll ausser der compiler schreibt jedesmal den ganzen block der function direkt in den code bzw handelt sie auf assemblerebene einfach mit einem jmp.
 

morszeck

BeitragDi, Mai 03, 2005 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Prinzip ist eine Function/EndFunction ähnlich einem Gosub/Return. Nur bei Gosub musst du keine Varialeln mitgeben oder diese global definieren, wie im Gegensatz zur einer Function. Auch werden alle lokalen Variabeln in einer Function nach der Beendinung gelöscht.
 

hitokiri

BeitragDi, Mai 03, 2005 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
also ist ne funktion auf assemblerebene ein "richtiger" private subprocess und gosub nur ein makro ?

Xaron

BeitragDi, Mai 03, 2005 15:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Was ist denn ein private Subprocess (Java?)? Wenn Du meinst, dass da ein extra Prozeß oder Thread erzeugt wird, liegst Du falsch. Sorry, falls ich Dich da falsch verstehen sollte!

Bei einer Funktion wird halt etwas mehr auf dem Stack rumgeschmiert (lokale Variablen, etc.), was natürlich die Sache _etwas_ verlangsamt. Am Ende wird der Stack wieder aufgeräumt, was auch _etwas_ dauert.
So lange man nicht mit Rekursion in zeitkritischen Bereichen arbeitet, sollte der Geschwindigkeitsverlust aber minimal sein.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!
 

morszeck

BeitragDi, Mai 03, 2005 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
hitokiri hat Folgendes geschrieben:
also ist ne funktion auf assemblerebene ein "richtiger" private subprocess und gosub nur ein makro ?


Kann man so sagen...
 

hitokiri

BeitragDi, Mai 03, 2005 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für die antworten morszeck und Xaron.
War lediglich eine Frage rein aus Interesse wie Assembler das übersetzt Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group