PFE 0.33.71

Homepage
SourceForge
Download
Documentation
-Overview
-The PFE Manual
old manual / (book)
-ChangeLog
-Authors
-License (LGPL)
-Wordsets / (book)
-Functions .. (book)
-Dp of ANS Forth
-The 4thTutor
-Forthprimer.pdf
- Old Wordsets
- Old Words List
Forth Links
* Forth Repository
* Taygeta Compilation
* TinyBoot FirmWare
* FiCL, Free Forth
* Research Vienna
* Research Bournemouth
* zForth WebRing
Other Links
* Tektronix/MPT
* Forth Org. (FIG)
* Forth Inc.
* MPE Ltd. Forths
* SF Win32Forth
* PD Win32Forth
* Neil Bawd

generated
(C) Guido U. Draheim
guidod@gmx.de

## Dynamic-Loading

> of code modules

`(LOADM)``` => `"FORTH"`

  (no description)

  primitive code = [p4_paren_loadm]

`LOADM``( "filename" -- )``[FTH]` => `"FORTH"`

  dlmap the shared object (or share an already mapped object) and run the per-thread initialization code. This is the user-convenient function, otherwise use `(LOADM)`

        simulate:
          : LOADM  BL WORD
            ((IS_MODULE_LOADED)) IF EXIT THEN
            HERE (LOADM)  0= IF ." -- load failed: " HERE COUNT TYPE CR THEN ;

  primitive code = [p4_loadm]

`LOCAL-DLSYM``( [symbol] -- symbol-addr )``[FTH] [EXEC]` => `"FORTH"`

  lookup the symbol that follows and leave the address (or null)

  immediate code = [p4_local_dlsym]

`LOCAL-DLCALL``` => `"FORTH"`

  (no description)

  immediate code = [p4_local_dlcall]

`CALL-C``` => `"EXTENSIONS"`

  (no description)

  primitive code = [p4_call_c]

`USELIBRARY``` => `"EXTENSIONS"`

  (no description)

  primitive code = [p4_uselibrary]

`lt_dlinit``( -- dlinit-ior# )``[FTH]` => `"EXTENSIONS"`

  initialiize library, usually open the program itself so that its handles can be found under "0"

  primitive code = [p4_lt_dlinit]

`lt_dlopenext``( module-ptr module-len -- module-dl-handle*! | 0 )``[FTH]` => `"EXTENSIONS"`

  walk the searchpath for dlopen and try to open a binary module under the given name with the usual file extension for the current system.

  primitive code = [p4_lt_dlopenext]

`lt_dlsym``( symbol-ptr symbol-len module-dl-handle* -- symbol*! | 0 )``[FTH]` => `"EXTENSIONS"`

  try to find the name in the binary module denoted by its handle .. if handle is null, use the main body of the program

  primitive code = [p4_lt_dlsym]

`lt_dlclose``( module-dl-handle* -- module-ior# )``[FTH]` => `"EXTENSIONS"`

  close handle that was returned by `lt_dlopenext`

  primitive code = [p4_lt_dlcose]

`lt_dlerror``( -- dlerror-zstr* )``` => `"EXTENSIONS"`

  returns string describing the last dlerror as for `lt_dlopenext` and `lt_dlsym`

  primitive code = [p4_lt_dlerror]