Boost logo

Boost :

From: Victor A. Wagner Jr. (vawjr_at_[hidden])
Date: 2005-05-26 14:23:41

At 11:08 2005-05-26, Bennett, Patrick wrote:

> > -----Original Message-----
> > From: boost-bounces_at_[hidden]
> > On Behalf Of Victor A. Wagner Jr.


> > >in with users having no idea how or why they're being linked against.
> > >Since many developers tend to be rather over-eager in #including
> > >(bah, just include it all!)
> >
> > sounds like "many developers" need to be re-edcuated. or, perhaps,
> > need better code walkthroughs.
>[Bennett, Patrick] Both. :) That doesn't change the fact that having
>object files which contain special decorations (inserted by a
>vendor-specific #pragma operation)

that's twice in 2 days that someone wants to pick on #pragma being "vendor
I never suggested either time a literal "#pragma blah" to support this.

>which cause unspecified libraries to
>'automatically' get linked in is a 'bad thing.'
>For one, there's no official way to dump a list of these explicit link
>references for any given object file or lib/dll.

were the mechanism part of the standard, of course there would be an
"official" way to find them

>The only way to (partially) know what might get linked in ahead of time
>is to go through a dedicated preprocessor step to verify what's being
>linked. Of course, this just handles the case where the public
>(interface) headers of all libraries referenced contain pragma/lib
>entries. It doesn't account for the libraries which defined pragma/lib
>entries for other libraries within their implementation headers [so the
>pragma node is only in the linkable file for that static lib or dll's
>import lib]. Thus, there's no way to 'know' up-front, and in an
>easy/fast manner, what libraries will actually be linked in when
>building a dll or exe in the presence of these lib pragma's. They're
>bad, bad, bad.

you assumed things I didn't suggest.

>Vendors like Microsoft are certainly welcome to support them, but adding
>something like this to the 'standard' would be unacceptable (to me at
>least ;>). If tool authors want to provide support for Microsoft's
>extension, that's fine too - it should just always be optional.
>When it comes to compiling and linking, I don't want the compiler or
>linker including anything more than I explicitly told it to include.
>If you disagree, well, hey, I guess we'll just have to agree to

no, I'm gonna convince you, lol.

>Patrick Bennett

Victor A. Wagner Jr.
The five most dangerous words in the English language:
               "There oughta be a law"

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