CONFIG SUBMODE/de

From MCS Wiki AVR
Jump to: navigation, search

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 SUBSUBDECLARE 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  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language