loadlib - dynamic library loading facilities for the Lua language.
Download it here (tar gzipped, 7474 bytes).
It was tested on AIX 3/4, Linux, IRIX 5, SunOS 4/5, Windows 95/NT.
It was not tested for HP-UX and Next.
The tar file includes the dlfcn emulation library for AIX written by
Jens-Uwe Mager.
To use loadlib, call the initialization function void loadlib_open(void)
.
This function registers three Lua functions:
loadlib( libname, [dir] ) -> libhandle, [errormsg]
Loads a library. libname can be a full path to the library or just the library name. If it is a library name, dir can be used to specify the directory where the library is. The function returns a libhandle to be used with the functionsunloadlib
andcallfromlib
. If the library cannot be loaded, the function returns nil as the libhandle and a string describing the error.
Examples:
loadlib( "/usr/lib/libX11.so" )
loadlib( "c:\\lua\\poslua.dll" )
loadlib( "poslua" )
: search for libposlua.so in unix or poslua.dll in windows, using the system default search path
loadlib( "poslua", "/lua/" )
: search for /lua/libposlua.so in unix, /lua/poslib.dll in windows
unloadlib( libhandle )
Unload the library libhandle. libhandle must be an userdata returned by the functionloadlib
.
Warning: the Lua functions eventually registered by the library are not removed!
callfromlib( libhandle, functionname )
Call the function functionname from the library libhandle. libhandle must be an userdata returned by the functionloadlib
. functionname must be a string.
Typically, you usecallfromlib
only once, afterloadlib
, to call an open function that will register the lib functions in the Lua environment.