_CP_load is an optional function for preloading BASIC subroutines, before they are needed.
int _CP_load(int* number, CPSTR* name)
number | Must be a pointer to an integer. This integer must contain -1 when loading a new subroutine. Upon successful load, this location will contain an index number which should be passed down to succeeding _CP_calls to the same subroutine. This index allows the system to jump directly into the subroutine code without having to look up the name in the master dictionary. |
name | Should be a CPSTR* pointing to the subroutine name. The subroutine
to be called must be previously compiled with FlashBASIC
and be cataloged in the current master dictionary. This function returns -1 if an error occurs. The error code is contained in _CP_errno, including: PE_LOAD_ERR which indicates that the system could not load the subroutine. The subroutine must be cataloged, and must be compiled with the current version of FlashBASIC. |
/* call a user-written routine */ CPSTR * s = _CP_mkstr("hi"); int i = -1; r = _CP_load(&i,s); if (r < 0) { _CP_logoff(); exit(-1); } /* Now that the subroutine is loaded, it can be called */ /* very efficiently */ for (j=1; j < 100; j++) _CP_call(&i,s,0);