SourceForge!
PFE 0.33.70


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]