CONFIG SUBMODE/de

From MCS Wiki AVR
< CONFIG SUBMODE(Difference between revisions)
Jump to: navigation, search
(Anmerkungen)
(Example)
 
(One intermediate revision by one user not shown)
Line 47: Line 47:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">See also</span> =
+
= <span class="f_Header">Siehe auch</span> =
  
 
<span style="font-family: Arial;">[[DECLARE SUB|DECLARE SUB]],&nbsp;[[SUB]],&nbsp;[[DECLARE FUNCTION|DECLARE FUNCTION]]&nbsp;,&nbsp;[[CALL]]</span>
 
<span style="font-family: Arial;">[[DECLARE SUB|DECLARE SUB]],&nbsp;[[SUB]],&nbsp;[[DECLARE FUNCTION|DECLARE FUNCTION]]&nbsp;,&nbsp;[[CALL]]</span>
Line 55: Line 55:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Example</span> =
+
= <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() ' not required
+
declare sub test1() ' nicht erforderlich
 
   
 
   
sub test2() ' this sub is not used and will not be compiled
+
sub test2() ' Diese Subroutine wird nicht benutzt und wird nicht kompiliert
 
  print "test2"
 
  print "test2"
 
end sub
 
end sub
 
   
 
   
function myfunc() as byte ' called from test1
+
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() ' uses myfunc
+
  print myfunc() ' benutzt myfunc
 
end sub
 
end sub
 
   
 
   
 
   
 
   
 
print "test"
 
print "test"
test1 ' call test1
+
test1 ' ruft test1 auf
end '12
+
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 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