CONFIG SUBMODE/de
(→Anmerkungen) |
(→See also) |
||
Line 47: | Line 47: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Siehe auch</span> = |
<span style="font-family: Arial;">[[DECLARE SUB|DECLARE SUB]], [[SUB]], [[DECLARE FUNCTION|DECLARE FUNCTION]] , [[CALL]]</span> | <span style="font-family: Arial;">[[DECLARE SUB|DECLARE SUB]], [[SUB]], [[DECLARE FUNCTION|DECLARE FUNCTION]] , [[CALL]]</span> |
Revision as of 00:22, 13 March 2013
Contents |
Funktion
Diese Option definiert wie der Compiler mit Subroutinen, Funktionen und Deklarationen umgeht.
Syntax
CONFIG SUBMODE = NEW|OLD
Anmerkungen
Wenn der SUBMODE nicht konfiguriert wird dann wird standardmäßig 'OLD' benutzt.
Das ist der alte Mode, der bis BASCOM-Version 2070 benutzt wurde.
Der OLD Mode erfordert, dass DECLARE benutzt wird um Funktionen und Subroutinen zu deklarieren bevor sie benutzt werden.
Außerdem werden die FFunktionen/Subroutinen an der entsprechenden Stelle im Programm eingebunden.
Wenn man mit $INCLUDE-Dateien arbeitet dann erfordert das, dass man am Anfang und am Ende des Programms $INCLUDE angibt. Oder dass man ein GOTO benutzt um über den Funktions/Subroutinen-Code zu überspringen.
Wenn man CONFIG SUBMODE=NEW benutzt dann ist das Verhalten anders:
- Es ist nicht nötig, eine Funktion oder Subroutine zu deklarieren bevor sie aufgerufen wird. Allerdings muss der eigentliche Funktions/Subroutinen-Code VOR dem Aufruf plaziert sein!
- Nur die benutzten Funktionen/Subroutinen werden eingebunden
- Der Funktions/Subroutinen-Code wird hinter dem HAuptprogramm plaziert. Darüber müssen Sie sich keine Gedanken machen.
- Man kann die Module mit $include einbinden ohne ein GOTO zum Überspringen des Codes.
- Subroutinen/Functionen verhalten sich wie Macros: Nur wenn sie benutzt werden dann werden sie eingebunden.
Siehe auch
DECLARE SUB, SUB, DECLARE FUNCTION , CALL
Example
$regfile = "m88def.dat" $crystal = 8000000 config submode=new declare sub test1() ' not required sub test2() ' this sub is not used and will not be compiled print "test2" end sub function myfunc() as byte ' called from test1 myfunc = 1 end function sub test1() print "test1" print myfunc() ' uses myfunc end sub print "test" test1 ' call test1 end '12
Languages | English • Deutsch |
---|