INFO - FAQ - CC2-Forum - CCPro-Forum |
Hallo Henrik, > Weder ist das alte Produkt besser, noch besitzt Basic++ einen kleineren Funktionsumfang. Ganz im Gegenteil! Mit eingeschränktem Funktionsumfang meine ich natürlich vor allen Dingen den nicht vorhandenen Emulator, bzw. Simulator. Die Syntax ist zweifelsohne bei den neuen BASIC-Dialekte umfangreicher. > Wo bitte gibt es denn die Möglichkeit der Parameterübergabe bei Funktionen. Bis zur Version 1.1 der C-Control ging das zum Beispiel mit Hilfe des Stacks, ganz ohne Variablen. Es gab sogar die Möglichkeit, Funktionswerte auf dem Stack zurückzuliefern. Bei den neuen C-Control-Varianten geht das leider nicht mehr, es wird Platz im User-RAM belegt. Die Parameterübergabe und Werterückgabe bei Funktionen ist natürlich sehr nützlich, da Programme dadurch übersichtlicher werden und sich der Programmierer um nichts mehr zu kümmern braucht. Aber die zur Parameterübergabe benutzten Variablen belegen Platz im knappen User-RAM. Dieser Platz wird nur einmal genutzt. Lokale Variablen belegen also global Platz. Somit ist das ein zweischneidiges Schwert. Exzessiver Gebrauch ist zu vermeiden. Das folgende kleine BASIC++-Programm belegt zum Beispiel 8 Byte des User-RAMs. Mit Word-Variablen wären es sogar 14 Byte: declare function test1(a as byte, b as byte, c as byte) declare function test2(a as byte, b as byte, c as byte) print test1(1,2,3) print test2(4,5,6) function test1(a as byte, b as byte, c as byte) return 123 end function function test2(a as byte, b as byte, c as byte) return 123 end function Gruß, Dietmar Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |