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