CONFIG SUBMODE/de
(→Anmerkungen) |
(→Example) |
||
(One intermediate revision by one user not shown) | |||
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> | ||
Line 55: | Line 55: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Beispiel</span> = |
<br/><source lang="bascomavr"> | <br/><source lang="bascomavr"> | ||
Line 62: | Line 62: | ||
config submode=new | config submode=new | ||
− | declare sub test1() ' | + | declare sub test1() ' nicht erforderlich |
− | sub test2() ' | + | sub test2() ' Diese Subroutine wird nicht benutzt und wird nicht kompiliert |
print "test2" | print "test2" | ||
end sub | end sub | ||
− | function myfunc() as byte ' | + | function myfunc() as byte ' aufgerufen von test1 |
myfunc = 1 | myfunc = 1 | ||
end function | end function | ||
Line 74: | Line 74: | ||
sub test1() | sub test1() | ||
print "test1" | print "test1" | ||
− | print myfunc() ' | + | print myfunc() ' benutzt myfunc |
end sub | end sub | ||
print "test" | print "test" | ||
− | test1 ' | + | test1 ' ruft test1 auf |
− | end | + | end |
</source><br/>{{Languages}} | </source><br/>{{Languages}} | ||
[[Category:BASCOM Language Reference/de]] | [[Category:BASCOM Language Reference/de]] |
Latest revision as of 00:26, 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
Beispiel
$regfile = "m88def.dat" $crystal = 8000000 config submode=new declare sub test1() ' nicht erforderlich sub test2() ' Diese Subroutine wird nicht benutzt und wird nicht kompiliert print "test2" end sub function myfunc() as byte ' aufgerufen von test1 myfunc = 1 end function sub test1() print "test1" print myfunc() ' benutzt myfunc end sub print "test" test1 ' ruft test1 auf end
Languages | English • Deutsch |
---|