Open CASCADE Technology  7.4.0
Public Member Functions

OSD_SharedLibrary Class Reference

Interface to dynamic library loader. Provides tools to load a shared library and retrieve the address of an entry point. More...

#include <OSD_SharedLibrary.hxx>

Public Member Functions

 OSD_SharedLibrary ()
 Creates a SharedLibrary object with name NULL. More...
 
 OSD_SharedLibrary (const Standard_CString aFilename)
 Creates a SharedLibrary object with name aFilename. More...
 
void SetName (const Standard_CString aName)
 Sets a name associated to the shared object. More...
 
Standard_CString Name () const
 Returns the name associated to the shared object. More...
 
Standard_Boolean DlOpen (const OSD_LoadMode Mode)
 The DlOpen method provides an interface to the dynamic library loader to allow shared libraries to be loaded and called at runtime. The DlOpen function attempts to load Filename, in the address space of the process, resolving symbols as appropriate. Any libraries that Filename depends upon are also loaded. If MODE is RTLD_LAZY, then the runtime loader does symbol resolution only as needed. Typically, this means that the first call to a function in the newly loaded library will cause the resolution of the address of that function to occur. If Mode is RTLD_NOW, then the runtime loader must do all symbol binding during the DlOpen call. The DlOpen method returns a handle that is used by DlSym or DlClose. If there is an error, Standard_False is returned, Standard_True otherwise. If a NULL Filename is specified, DlOpen returns a handle for the main executable, which allows access to dynamic symbols in the running program. More...
 
OSD_Function DlSymb (const Standard_CString Name) const
 The dlsym function returns the address of the symbol name found in the shared library. If the symbol is not found, a NULL pointer is returned. More...
 
void DlClose () const
 Deallocates the address space for the library corresponding to the shared object. If any user function continues to call a symbol resolved in the address space of a library that has been since been deallocated by DlClose, the results are undefined. More...
 
Standard_CString DlError () const
 The dlerror function returns a string describing the last error that occurred from a call to DlOpen, DlClose or DlSym. More...
 
void Destroy ()
 Frees memory allocated. More...
 
 ~OSD_SharedLibrary ()
 

Detailed Description

Interface to dynamic library loader. Provides tools to load a shared library and retrieve the address of an entry point.

Constructor & Destructor Documentation

◆ OSD_SharedLibrary() [1/2]

OSD_SharedLibrary::OSD_SharedLibrary ( )

Creates a SharedLibrary object with name NULL.

◆ OSD_SharedLibrary() [2/2]

OSD_SharedLibrary::OSD_SharedLibrary ( const Standard_CString  aFilename)

Creates a SharedLibrary object with name aFilename.

◆ ~OSD_SharedLibrary()

OSD_SharedLibrary::~OSD_SharedLibrary ( )
inline

Member Function Documentation

◆ Destroy()

void OSD_SharedLibrary::Destroy ( )

Frees memory allocated.

◆ DlClose()

void OSD_SharedLibrary::DlClose ( ) const

Deallocates the address space for the library corresponding to the shared object. If any user function continues to call a symbol resolved in the address space of a library that has been since been deallocated by DlClose, the results are undefined.

◆ DlError()

Standard_CString OSD_SharedLibrary::DlError ( ) const

The dlerror function returns a string describing the last error that occurred from a call to DlOpen, DlClose or DlSym.

◆ DlOpen()

Standard_Boolean OSD_SharedLibrary::DlOpen ( const OSD_LoadMode  Mode)

The DlOpen method provides an interface to the dynamic library loader to allow shared libraries to be loaded and called at runtime. The DlOpen function attempts to load Filename, in the address space of the process, resolving symbols as appropriate. Any libraries that Filename depends upon are also loaded. If MODE is RTLD_LAZY, then the runtime loader does symbol resolution only as needed. Typically, this means that the first call to a function in the newly loaded library will cause the resolution of the address of that function to occur. If Mode is RTLD_NOW, then the runtime loader must do all symbol binding during the DlOpen call. The DlOpen method returns a handle that is used by DlSym or DlClose. If there is an error, Standard_False is returned, Standard_True otherwise. If a NULL Filename is specified, DlOpen returns a handle for the main executable, which allows access to dynamic symbols in the running program.

◆ DlSymb()

OSD_Function OSD_SharedLibrary::DlSymb ( const Standard_CString  Name) const

The dlsym function returns the address of the symbol name found in the shared library. If the symbol is not found, a NULL pointer is returned.

◆ Name()

Standard_CString OSD_SharedLibrary::Name ( ) const

Returns the name associated to the shared object.

◆ SetName()

void OSD_SharedLibrary::SetName ( const Standard_CString  aName)

Sets a name associated to the shared object.


The documentation for this class was generated from the following file: