🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c++
Article #3283

Re: Make type_info name() distinct?

#3283
From: Dirk Becker
Date: Sat, 10 Feb 1996 15:38
47 lines
2793 bytes
In article <4fdsql$e6m@jabba.lehman.com>, ajay@lehman.com (Ajay Kamdar) wrote:

[Snip]

> The compiler generates all this meta data for itself, and unfortunately
> throws it all away rather than allowing access to it
> programmatically. With in the last five years I have worked on three
> separate projects where the availability of meta data from
> the compiler itself would have saved us very significant amounts of
> time and money inventing elaborate meta data generation mechanisms of
> our own.
>
> I don't remember any discussion in this forum as to why the standards
> committee limited RTTI information to its current form. Did the
> committee ever consider standardizing more detailed RTTI?
> Were there technical problems which prevented such standardization?

A better support of persistence was also the intention of my original post.
But I did not ask for the additional information in RTTI because I knew
already the reason:

This wide RTTI would allow anybody with a decent disassembler to reverse-
engineer your valuable data structures, including full member variable
names. This cannot be acceptable for a general-purpose (not only persistence)
feature.

Most compilers have an option to generate your extended information,
either as a MAP file or for symbolic debugger support. So you can extract
your information and include it yourself, if you want.

The distinct name()s (at least for class objects) are still needed to get
the connection to the external information. I use a compiler which emits
perfectly mangled symbols for the debugger, but RTTI gives only a short
version of this (inner name of nested class). So you have no chance to
differentiate between list<foo>::iterator and vector<bar>::iterator, because
all you get is "iterator".


Dirk

------------------------------------------------------------------
Dirk Becker                                dirk@becker.adviser.com
Harderweg 76, 22549 Hamburg, Germany          Tel. +49 40 80783143
---
[ comp.std.c++ is moderated.  Submission address: std-c++@ncar.ucar.edu.
  Contact address: std-c++-request@ncar.ucar.edu.  Moderation policy:
  http://reality.sgi.com/employees/austern_mti/std-c++/policy.html. ]
Technical Details
Message-ID: <v01530502ad4230963778@[194.163.74.11]>
Path: arc1-ca.pugleaf.net!in1.uu.net!bounce-back

Show Full Headers
Complete Article Headers
From: dirk@becker.adviser.com (Dirk Becker)
Message-ID: <v01530502ad4230963778@[194.163.74.11]>
X-Original-Date: Sat, 10 Feb 1996 13:42:32 +0100
Path: arc1-ca.pugleaf.net!in1.uu.net!bounce-back
Date: 10 Feb 96 15:38:57 GMT
Approved: fjh@cs.mu.oz.au
Organization: -
Newsgroups: comp.std.c++
X-Sender: dirk@194.163.74.12
Content-Type: text/plain; charset="us-ascii"
Subject: Re: Make type_info name() distinct?
X-Auth: PGPMoose V1.1 PGP comp.std.c++
 iQBFAgUBMRy8IuEDnX0m9pzZAQFapwF/YiIKAUSG+DMGukLQqoOF+z8V6f+KIcFH
 HrMO1QCsvoKC9ZRgxWrMSNllP3oARgMr
 =M3Fu