Comparison of User-Defined Function Features: Difference between revisions
Jump to navigation
Jump to search
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. | ||
{| {|cellspacing="2" cellpadding="5" border="1" | |||
|- | |||
! 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 |