|
Boost : |
From: Stewart, Robert (stewart_at_[hidden])
Date: 2002-03-26 13:01:46
From: Carl Daniel [mailto:cpdaniel_at_[hidden]]
>
> From: "Stewart, Robert" <stewart_at_[hidden]>
> > From: E. Gladyshev [mailto:egladysh_at_[hidden]]
> > >
> > > important if the project has many DLL's or some of
> > > the client code has to be C.
> > > It is never a wise solution to export C++
> > > classes from DLL's (remember name mangling...etc.)
> >
> > Since when? I used to do it frequently and I know the
> developers here that
> > do NT work do it.
>
> The problem, IMO, is that most projects mis-use DLLs (or
> shared libraries in general). If you're happy using the DLL as
> a way to reduce link time on your project, then express your
> module interfaces as C++. If, on the other hand, you
> expect to use DLLs as a way to modularize the deployment of a
> configurable product, or to reuse code in several
> products, then a C++ interface is likely to be a liability.
[snip problems C++ I/F's can cause]
[snip examples of needing C I/F's to allow interoperability w/o tool
constraints]
These are excellent points, which easily justify choosing a C I/F between
modules. However, none of them justify saying "it is never a wise solution
to export C++ classes from DLL's," which was the OP's claim.
Rob
Susquehanna International Group, LLP
http://www.sig.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk