PFE - Portable Forth Environment - pfe Forth Wordsets

  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]