Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2004-03-12 16:11:37


> Greg Clayton wrote:
>> Yes, shared pointers can't be created and handed off from DLL to DLL
>> the way they are currently implemented. If DLL A has an STL container
>> of shared pointers, and DLL B gets _dynamically_ loaded and adds an
>> item to DLL A's container (creates a shared pointer to an object, and
>> DLL B adds that shared pointer through an interface it to DLL A's STL
>> container of shared pointers), DLL B can not be unloaded. If DLL B
>> does get unloaded you will crash when your STL container goes out of
>> scope (when it tries to delete the owned pointer).
> Isn't it possible for the DLL C that contains the definition of
> SomeClass to export
> shared_ptr<SomeClass> createSomeClass();
> which DLL B can now call when it needs a SomeClass?
> Since ~SomeClass lives in C, it must be available when the last
> shared_ptr<SomeClass> is destroyed.

Boost list run by bdawes at, gregod at, cpdaniel at, john at