Comparison of User-Defined Function Features: Difference between revisions

From BR Wiki
Jump to navigation Jump to search
(Undo revision 10168 by Laura (talk))
No edit summary
Line 2: Line 2:
The following table illustrates the similarities and differences between regular user-defined functions (non-library) and library user-defined functions.
The following table illustrates the similarities and differences between regular user-defined functions (non-library) and library user-defined functions.


[[Image:Lib1.jpg]]<br>
{| {|cellspacing="2" cellpadding="5" border="1"
[[Image:Lib2.jpg]]<br>
|-
[[Image:Lib3.jpg]]
! rowspan="2"|Quality
! rowspan="2"|User Defined Function
! rowspan="2"|User Defined Library Function in Main Program
! colspan="3"|User Defined Library Function Defined in Separate Program
|-
!Resident
!Present
!As Needed
|-
|LIBRARY keyword required on DEF statement
|no
|yes
|yes
|yes
|yes
|-
|Linkage must be establishe (via LIBRARY statement) before function may be called
|no
|yes
|yes
|yes
|yes
|-
|Program may be specified in named LIBRARY statement
|n/a
|yes
|yes
|yes
|yes
|-
|If loaded program will be searched for function when unnamed LIBRARY statement is executed
|n/a
|yes
|yes
|yes
|no
|-
|Main program's global variables are available to the function
|no
|yes
|no
|no
|no
|-
|Point at which global variables are cleared
|when main program ends
|when main program ends
|when main program ends (Default). Other options available
|when main program ends
|when main program ends
|-
|Using OPTION RETAIN in the library program causes the library to retain global variables irrespective of when the program ends
|n/a
|na/a
|yes
|no
|no
|-
|Library is loaded into memorey with the LOAD command
|n/a
|n/a
|yes
|no
|no
|-
|Library is cleared from memory with the CLEAR command
|n/a
|n/a
|yes
|no
|no
|-
|Library is automatically removed from memore when all function definitions are reassigned
|n/a
|n/a
|no
|yes
|n/a
|-
|Library is automatically removed from memory when main program ends
|n/a
|n/a
|no
|yes
|n/a
|}





Revision as of 19:03, 13 October 2014

The following table illustrates the similarities and differences between regular user-defined functions (non-library) and library user-defined functions.

Quality User Defined Function User Defined Library Function in Main Program User Defined Library Function Defined in Separate Program
Resident Present As Needed
LIBRARY keyword required on DEF statement no yes yes yes yes
Linkage must be establishe (via LIBRARY statement) before function may be called no yes yes yes yes
Program may be specified in named LIBRARY statement n/a yes yes yes yes
If loaded program will be searched for function when unnamed LIBRARY statement is executed n/a yes yes yes no
Main program's global variables are available to the function no yes no no no
Point at which global variables are cleared when main program ends when main program ends when main program ends (Default). Other options available when main program ends when main program ends
Using OPTION RETAIN in the library program causes the library to retain global variables irrespective of when the program ends n/a na/a yes no no
Library is loaded into memorey with the LOAD command n/a n/a yes no no
Library is cleared from memory with the CLEAR command n/a n/a yes no no
Library is automatically removed from memore when all function definitions are reassigned n/a n/a no yes n/a
Library is automatically removed from memory when main program ends n/a n/a no yes n/a