dynamiclibrarymanager.cpp

来自「这是国外的resip协议栈」· C++ 代码 · 共 78 行

CPP
78
字号
#include <cppunit/plugin/DynamicLibraryManager.h>#if !defined(CPPUNIT_NO_TESTPLUGIN)#include <cppunit/plugin/DynamicLibraryManagerException.h>CPPUNIT_NS_BEGINDynamicLibraryManager::DynamicLibraryManager( const std::string &libraryFileName )    : m_libraryHandle( NULL )    , m_libraryName( libraryFileName ){  loadLibrary( libraryFileName );}DynamicLibraryManager::~DynamicLibraryManager(){  releaseLibrary();}DynamicLibraryManager::Symbol DynamicLibraryManager::findSymbol( const std::string &symbol ){  try  {    Symbol symbolPointer = doFindSymbol( symbol );    if ( symbolPointer != NULL )      return symbolPointer;  }  catch ( ... )  {  }  throw DynamicLibraryManagerException( m_libraryName,                                         symbol,                                        DynamicLibraryManagerException::symbolNotFound );  return NULL;    // keep compiler happy}voidDynamicLibraryManager::loadLibrary( const std::string &libraryName ){  try  {    releaseLibrary();    m_libraryHandle = doLoadLibrary( libraryName );    if ( m_libraryHandle != NULL )      return;  }  catch (...)  {  }  throw DynamicLibraryManagerException( m_libraryName,                                        getLastErrorDetail(),                                        DynamicLibraryManagerException::loadingFailed );}void DynamicLibraryManager::releaseLibrary(){  if ( m_libraryHandle != NULL )  {    doReleaseLibrary();    m_libraryHandle = NULL;  }}CPPUNIT_NS_END#endif // !defined(CPPUNIT_NO_TESTPLUGIN)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?