так все-таки как поступать, если все компилируется в одном компиляторе, хочется динамическую загрузку библиотек и кидание исключений?
Допустим такой код:
{
ScopedLoadLibrary lib ( "component.dll" );
ComponentPtr comp = ComponentFactory::CreateInstance();
comp->DoSomething(); // и отсюда вылетает некий class myexception : public std::exception
}
Вроде бы нормальный с точки зрения клиентского вызова код.
Но код myexception::~myexception находится в component.dll, а это значит, что в catch-е который его отловит модуль уже будет выгружен.
И когда CRT-шный код пытается удалить объект — происходит AV.
Какие будут предложения?