|
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