Boost logo

Boost :

From: E. Gladyshev (egladysh_at_[hidden])
Date: 2003-08-04 12:10:36


--- Russell Hind <rhind_at_[hidden]> wrote:
> E. Gladyshev wrote:

> You have
> objects created inside the signals lib
> (non-multi-threaded) so it
> doesn't create/initialise the lock member variables.
> There is then
> header code which is compiled directly in your
> application

Thanks for taking a look at the problem. IMO,
distributing objects between inlines and DLL functions
is not a very good idea. The classic example is:

//intended to be used as DLL.
class A
{
public:
  char* m_data;

  //compiled into application
  inline ~A()
  {
    if(m_data) delete[] m_data;
  }

  //calls DLL
  void init();
};

void A::init()
{
   m_data = new char[10];
}

IMHO, boost needs to get rid of any possibility of
this to happen. Why does boost::signal() need a
DLL/LIB in the first place? Would not be just the .h
file enough?

Eugene

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk