Boost logo

Boost Users :

From: Jim.Hyslop (Jim.Hyslop_at_[hidden])
Date: 2004-03-11 15:00:59


Edward Diener wrote:
> Is there any problem with using shared_ptr and passing an
> instance of it to
> a function in another shared library, such as a DLL under
> Windows ? Does the
> reference count get updated correctly when the copy is passed to a DLL
> function, so that when the last shared_ptr in either the
> original module or
> the DLL goers out of scope, the actual pointer is correctly deleted ?
I've been using it successfully across DLL boundaries with no problems.

The biggest caveat is to ensure you are using the DLL version of the C
Runtime library. If you use the static library version, then each DLL will
have its own heap, and a pointer *must* be deallocated in the same DLL in
which it was allocated.

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. (http://www.leitch.com)
Columnist, C/C++ Users Journal (http://www.cuj.com/experts)

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net