[C++-sig] Re: RTTI and image size

Niall Douglas s_sourceforge at nedprod.com
Sun Oct 19 01:52:51 CEST 2003


On 18 Oct 2003 at 9:17, David Abrahams wrote:

> > How well does BPL work if RTTI is disabled?
> 
> It doesn't.  RTTI is an integral part of how Boost.Python works.

Sorry, I should have been clearer - does BPL need to obtain derived 
polymorphic information from base classes or is it fine with just 
static type info ie; the static type of whatever it has?

I'm assuming from your mention of luabind that the answer is yes.

> > I /really/ wish RTTI info was filterable ...
> 
> When and if Daniel Wallin and I get the Luabind/Boost.Python
> integration done, there will be some support for users to plug in
> their own hand-rolled type identification mechanisms... but don't
> expect it to be pretty.  You'll have to supply some C++ code.  For
> example, using Pyste to generate bindings using 100% Pure Python won't
> be an option.

Sounds to me like GCCXML is again the answer - where it sees calls to 
some luabind function with some type, it outputs the type into a file 
from where luabind can assign it a unique id.

I've noticed that on MSVC, if you disable RTTI it in fact only 
disables the polymorphic support bit - static type queries still work 
fine. Thus if BPL didn't need to know derived classes, you could 
safely leave it off and all those volumes of worst case scenario data 
could be left out because MSVC would only include info for those 
types queried (I've inspected assembly outputs under the various 
cases and this seems to be true).

GCC as far as I understand it totally disables RTTI completely when 
you say so. I'm already having nightmarish visions of 50Mb .so's ... 
:(

Cheers,
Niall




-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 208 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20031019/3415c12f/attachment.pgp>


More information about the Cplusplus-sig mailing list