|
Boost Users : |
Subject: Re: [Boost-users] [serialization] boost::serialization addshuge amounts of exports to resultant Windows PE file
From: Robert Ramey (ramey_at_[hidden])
Date: 2010-10-04 00:38:45
Lars Viklund wrote:
> On Sat, Oct 02, 2010 at 10:09:18PM -0800, Robert Ramey wrote:
>> Marsh Ray wrote:
>>> On 10/02/2010 12:56 AM, Lars Viklund wrote:
>>>> These exported symbols are excellent for provoking bugs in software
>>>> that makes assumptions about the maximum reasonable length a symbol
>>>> should be able to have.
>>
>> I'm no seeing this either. I don't see how that this symbol
>> information is accessible. Even if it is, I don't see how it could
>> be used.
>
> The symbols exported by a module can be enumerated together with debug
> information to resolve a module and offset into a function name and
> offset, through use of dbghelp.dll's API.
For what's worth, I would expect most windows aps to be distributed
in release mode which means (among other things) no debug symbols.
But in any case, I've found no other way to prevent the linker
for explicitly eliminating instantiations of function templates which are
not
explicitly referenced. I've you've got another way of doing this
I would be pleased to hear it.
Also note that this occurs only for classes marked with
the BOOST_CLASS_EXPORT macro. This can be avoided
by using the alternative explicit registration method. That
has a different set of inconveniences. These are the only
alternatives I know of. I realize that the decision isn't
easy, but then, that's why we make the big bucks.
Robert Ramey
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